【问题标题】:why can't I open/ interact with files through python为什么我不能通过 python 打开/与文件交互
【发布时间】:2018-12-17 09:00:01
【问题描述】:

我是编码新手,已经开始尝试操作系统模块,它偶尔会在特定路径上工作。 示例:

但是当我尝试与单个文件交互时,会发生这种情况:

print(os.stat('my_file.txt'))

>>>filenotfounderror: [errno 2] no such file or directory found. 
'my_file.txt'

或者当我尝试与不在我的 cwd 中的路径交互时,会发生这种情况:

print(os.listdir(C:\folder\folder\folder))

>>>SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in 
position 2-3: truncated \UXXXXXXXX escape

我不明白为什么会这样,如果有人能解释为什么会这样,那就太好了,谢谢。

【问题讨论】:

  • C:\folder\folder\folder周围没有引号
  • 哎呀,我只是在写问题时错过了这一点,但这不在脚本中。还是谢谢

标签: python file operating-system


【解决方案1】:

Python 告诉您在您的第一个示例中,my_file.txt 不存在于当前目录中。

确认您有一个名为my_file.txt 的文件,然后使用os.getcwd() 检查您的python 进程的当前工作目录。

对于第二个示例,在 python 中,反斜杠 \ 是 escape sequences in a string 的特殊字符。例如换行符\n 或制表符\t。

您的示例中的错误很可能是由于未像这样转义反斜杠本身而意外形成无效转义序列的结果:

print(os.listdir('C:\\folder\\folder\\folder'))

【讨论】:

  • my_file.txt 只是一个示例文件,就像 \folder\folder\folder 一样。但是是的,我的脚本中确实有正确的文件名。啊,所以我必须使用 os.chdir 更改我的 cwd,然后我才能访问该目录中的文件。双反斜杠也有效。感谢分配的帮助
  • @BOBTHEBUILDER 或者您可以使用my_file.txt 的完整路径而不是更改目录。
猜你喜欢
  • 2012-02-09
  • 2021-09-01
  • 2020-08-21
  • 2021-10-09
  • 2017-11-27
  • 1970-01-01
  • 2022-11-02
  • 2020-11-15
  • 2012-10-30
相关资源
最近更新 更多