【问题标题】:os.path.isFile(file) throwing error in Python 2.7os.path.isFile(file) 在 Python 2.7 中抛出错误
【发布时间】:2017-03-02 05:27:27
【问题描述】:

由于我的代码很简单,我将其全部包含在内:

#!/usr/bin/python
import sys
import os.path
def main(argv):
    if len(sys.argv) < 3:
        print "insuficient arguments. Use like: lichcrypt <d/e> </path/to/file>"
    else:
        operation = argv[1]
        filepath = argv[2]
        print operation
        print os.path.isFile(filepath)
main(sys.argv)

从 cmd 行运行脚本样式时的错误是:

liam@liam-GA-970A-UD3:~$ lichcrypt.py something not/a/file/path
something
Traceback (most recent call last):
  File "/home/liam/bin/lichcrypt.py", line 12, in <module>
    main(sys.argv)
  File "/home/liam/bin/lichcrypt.py", line 11, in main
    print os.path.isFile(filepath)
AttributeError: 'module' object has no attribute 'isFile'

现在,这段代码显然很没用。最终它会加密文件,但在我掌握文件本身之前,它什么也做不了。

关于为什么 os.filepath.isFile() 似乎不再存在的任何想法?

【问题讨论】:

  • 函数名称为:os.path.isfile。小写f.
  • 感谢您的回复@AjayBrahmakshatriya。然而,正如我的标题中所述,我正在运行 Python 2.7。我知道 Python 文档,这似乎与我的结果相矛盾。
  • 可以使用dir(os.path)查看模块中定义的所有函数。

标签: python python-2.7 file os.path


【解决方案1】:

python中的函数名区分大小写,函数是isfile而不是isFile

参考链接:os.path.isfile

#!/usr/bin/python
import sys
import os.path
def main(argv):
    if len(sys.argv) < 3:
        print "insuficient arguments. Use like: lichcrypt <d/e> </path/to/file>"
    else:
        operation = argv[1]
        filepath = argv[2]
        print operation
        print os.path.isfile(filepath)
main(sys.argv)

【讨论】:

  • 天哪。一个简单的案例错误?很抱歉,谢谢。
  • 是鼓励还是不鼓励删除这样一个愚蠢的问题?我知道我已经为自己赢得了一张反对票。
  • @Sir.Lich 人们会遇到这类问题。这个问题简洁明了,不用删。
猜你喜欢
  • 2016-08-30
  • 2015-06-03
  • 2020-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-06
  • 2017-08-02
相关资源
最近更新 更多