【问题标题】:Python os.remove(...) string manipulationPython os.remove(...) 字符串操作
【发布时间】: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 似乎提升了我的生活。我会试一试,并为您提供有关我的代码的更新。我现在的方式似乎很混乱。

标签: python filepath


【解决方案1】:

我用 Pathlib 重新编码了我的代码,现在它可以工作了。问题是乱七八糟,有字符串、os.join、"/"、//"、r"..." 等等。

【讨论】:

    猜你喜欢
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多