检查它是否是文件

时间:2014-04-14 10:12:47

标签: python python-2.7

我写了很小的代码来检查它的文件是否正确。我期待着我应该得到"是的"打印,但我没有得到。我在做任何愚蠢的错误。

os.listdir(os.getcwd()+"/../py")
a = ['a.py', 'a.pyc']
>>> for _a in a:
...  if os.path.isfile(_a):
...     print "yes"

2 个答案:

答案 0 :(得分:4)

您需要提供完整路径;您只提供相对路径,因此Python在当前工作目录中查找这些路径,a.py中没有名为os.getcwd()的文件。

首先将路径存储到变量中的其他目录:

path = os.path.abspath('../py')
for name in os.listdir(path):
    if os.path.isfile(os.path.join(path, name):
        print "yes", name, "is a file!"

我使用os.path.abspath()而不是os.getcwd()将您的相对路径转换为规范化的绝对​​路径,并使用os.path.join()然后使用该路径为名称列表构造绝对路径os.listdir()已退回。

答案 1 :(得分:1)

a.py在当前目录中查找名为a.py 的文件。您的代码似乎暗示您应该提供路径(../py?)

例如:

>>> for _a in a:
...  if os.path.isfile(os.path.join('../py', _a)):
...     print "yes"