我有一个目录,我想选择该目录中的每个文件并在其上运行 python 代码:所以我执行以下操作
for file in os.listdir('/Users/Desktop/Xfiles'):
os.system('/sw/bin/python2.7 pythonCode.py /Users/Desktop/Xfiles/file')
这不起作用,我想处理 listdir 中的“文件”....我该怎么做?
我有一个目录,我想选择该目录中的每个文件并在其上运行 python 代码:所以我执行以下操作
for file in os.listdir('/Users/Desktop/Xfiles'):
os.system('/sw/bin/python2.7 pythonCode.py /Users/Desktop/Xfiles/file')
这不起作用,我想处理 listdir 中的“文件”....我该怎么做?
传递给 的路径os.system
是硬编码的。你应该通过filename
。
dirpath = '/Users/Desktop/Xfiles'
for filename in os.listdir(dirpath):
os.system('/sw/bin/python2.7 pythonCode.py {}/{}'.format(dirpath, filename))
file
用作变量名。它隐藏了内置file
函数。你可以做字符串插值
file = "myfilename"
"some text {}".format(file)
# white should result in "some text myfilename"
但是对于操纵路径,最好的方法是使用
os.path.join('/Users/gchella1/Desktop/forGeorge/Xfiles/', file)
你忘了把“文件”放在引号里吗?
for file in os.listdir('/Users/gchella1/Desktop/forGeorge/Xfiles'):
os.system('/sw/bin/python2.7 pythonCode.py /Users/gchella1/Desktop/forGeorge/Xfiles/'+file)
这对我有用。
for file in os.listdir('.'):
os.system('ls '+file)