【问题标题】:Python: OSError: [Errno 22] Invalid argument: wrong path (on Output seems that Python modify my path )Python:OSError:[Errno 22] Invalid argument: wrong path(在输出上似乎 Python 修改了我的路径)
【发布时间】:2021-12-29 19:15:36
【问题描述】:

嘿嘿。

似乎是我的 Python 代码的错误路径。但是我反复测试,路径和文件都不错:c:\Folder1\bebe.txt

查看错误OSError: [Errno 22] Invalid argument: 'c:\\Folder1\x08ebe.txt'

Python 修改我的路径 ??!你能帮助我吗?另外,你有完整的代码HERE:

【问题讨论】:

  • Ture Pålsson 对字符串转义的回答是正确的——请查阅更多信息
  • 是的,答案可能是正确的,但这并没有解决问题...

标签: python python-3.x windows-10


【解决方案1】:

你的问题很可能是这一行:

file_path = 'C:\Something\booh'

在 Python string literal 中,反斜杠用于引入特殊字符。例如\n 表示换行,\b 表示退格。要真正得到一个反斜杠,你必须输入\\。一个反斜杠后跟一个没有特殊含义的字符被单独留下,所以\S实际上意味着\S(虽然依赖这个可能是个坏主意)。

你可以像这样输入你的行

file_path = 'C:\\Something\\booh'

或使用 Python 的“原始字符串”语法,关闭反斜杠的特殊含义,然后键入

file_path = r'C:\Something\booh'

注意,当你这样做时

s = '\\'

s 引用的字符串实际上包含一个反斜杠。例如,len(s) 将为 1,print(s) 将打印一个反斜杠。

【讨论】:

  • 完整的 Python 代码在这里:pastebin.com/yXfD1XK8
  • 尝试将带有路径的行改成如下:file_path = "c:\\Folder1\bebe.txt'.replace('\', '\\')"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 1970-01-01
  • 2015-11-22
  • 2020-04-07
  • 1970-01-01
  • 2021-08-26
  • 2018-12-02
相关资源
最近更新 更多