【问题标题】:Python: os.path.isfile won't recognise files beginning with a numberPython:os.path.isfile 无法识别以数字开头的文件
【发布时间】:2013-02-11 20:20:54
【问题描述】:

所以,我正在尝试将os.path.isfileos.path.exists 合并到我的代码中,以便在搜索以字母开头的文件名时成功找到某些常规文件(pdf、png)。

我使用的文件命名标准(并且由于用户而无法更改)以数字开头,随后无法使用相同的方法找到。有没有办法让.isfile.exists 发现这些文件?

我要搜索的文件是 .txt 文件。

    os.path.isfile("D:\Users\spx9gs\Project Work\Data\21022013AA.txt")

    os.path.isfile("D:\Users\spx9gs\Project Work\Data\AA21022013.txt")

返回:

错误

是的

【问题讨论】:

  • 这绝对对我有用。 os.path.existsos.path.isfile 都可以识别以数字开头的文件。
  • 不,isfile() 适用于以数字开头的文件名。请问平台和测试用例?
  • os.path.isfile() 在名为 01.txt 的文件上对我来说效果很好
  • 对我来说它工作正常。我正在使用python2.7。

标签: python operating-system


【解决方案1】:

您需要使用原始字符串,或转义反斜杠。在文件名中:

"D:\Users\spx9gs\Project Work\Data\21022013AA.txt"

\210 将被解释为八进制转义码,因此您将无法获得正确的文件名。

以下任何一种都可以:

r"D:\Users\spx9gs\Project Work\Data\21022013AA.txt"
"D:\\Users\\spx9gs\\Project Work\\Data\\21022013AA.txt"

【讨论】:

  • 或者,第三个选项:您可以使用正斜杠作为路径分隔符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-29
相关资源
最近更新 更多