Python 检查是否为';s文件

Python 检查是否为';s文件,python,python-2.7,file,Python,Python 2.7,File,我已经编写了非常小的代码来检查它是否是文件。我原以为我会得到“是”的打印,但我没有得到。我犯了什么愚蠢的错误 os.listdir(os.getcwd()+"/../py") a = ['a.py', 'a.pyc'] >>> for _a in a: ... if os.path.isfile(_a): ... print "yes" 您需要提供完整的路径;您只提供了一个相对路径,因此Python在当前工作目录中查找这些路径,并且在os.getcwd()中没有名为

我已经编写了非常小的代码来检查它是否是文件。我原以为我会得到“是”的打印,但我没有得到。我犯了什么愚蠢的错误

os.listdir(os.getcwd()+"/../py")
a = ['a.py', 'a.pyc']
>>> for _a in a:
...  if os.path.isfile(_a):
...     print "yes"
您需要提供完整的路径;您只提供了一个相对路径,因此Python在当前工作目录中查找这些路径,并且在
os.getcwd()
中没有名为
a.py
的文件

首先将另一个目录的路径存储在变量中:

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()
返回的名称列表构造绝对路径。

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

首先将另一个目录的路径存储在变量中:

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()的名称列表构建绝对路径
返回。

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

例如:

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

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

例如:

>>> for _a in a:
...  if os.path.isfile(os.path.join('../py', _a)):
...     print "yes"
提供文件的路径作为输入(您的文件似乎不在当前工作目录中)。提供文件的路径作为输入(您的文件似乎不在当前工作目录中)。