0

我有一个目录,我想选择该目录中的每个文件并在其上运行 python 代码:所以我执行以下操作

for file in os.listdir('/Users/Desktop/Xfiles'):
     os.system('/sw/bin/python2.7 pythonCode.py /Users/Desktop/Xfiles/file')

这不起作用,我想处理 listdir 中的“文件”....我该怎么做?

4

3 回答 3

0

传递给 的路径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函数。
于 2013-08-21T14:10:43.103 回答
0

你可以做字符串插值

file = "myfilename"
"some text {}".format(file)
# white should result in "some text myfilename"

但是对于操纵路径,最好的方法是使用

os.path.join('/Users/gchella1/Desktop/forGeorge/Xfiles/', file)
于 2013-08-21T14:11:52.620 回答
0

你忘了把“文件”放在引号里吗?

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)
于 2013-08-21T14:14:55.493 回答