【发布时间】:2021-06-10 12:47:16
【问题描述】:
代码sn-p:
img_file_rm = scaned_pics_path + media_path + i #putting togehter some path parts
print("1",img_file_rm) # output-> path like it should be e.x. C:\\name\\folder1\\pic.bmp
os.remove(img_file_rm) # output-> path it is [error] e.x. C:\\\\name\\\\folder1\\\\pic.bmp
所以你看到os.remove()不知何故增加了额外的\s
FileNotFoundError: [WinError 3] Das System kann den angegebenen Pfad nicht finden:C:\\\\name\\\\folder1\\\\pic.bmp
【问题讨论】:
-
你的路径看起来不对,有两个反斜杠。
r"C:\\name\folder1\pic.bmp"在原始字符串或"C:\\\\name\\folder1\\pic.bmp"转义的情况下应该是正确的。 -
嗨,斯文,感谢您的快速答复。 C:\\name\\folder1\\pic.bmp 在 windows x = "C:\\name\\folder1\\pic.bmp 在 windows 中运行良好" 但在 os.remove(x) 之后字符串看起来像这 ->C:\\\\name\\\\folder1\\\\pic.bmp
-
我鼓励您使用更高级的方法来形成完整的文件路径,例如 Pathlib,或者至少使用 os.path.join 将路径的各个部分连接在一起,而不是使用字符串连接。
-
我会看看@scotty3785
-
@scotty3785 Pathlib 似乎提升了我的生活。我会试一试,并为您提供有关我的代码的更新。我现在的方式似乎很混乱。