我有一个目录,我想选择该目录中的每个文件并在其上运行python代码: 所以我做了以下
for file in os.listdir('/Users/Desktop/Xfiles'):
os.system('/sw/bin/python2.7 pythonCode.py /Users/Desktop/Xfiles/file')
这不起作用,我想从listdir处理“文件”....我该怎么做?
答案 0 :(得分: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
功能。答案 1 :(得分:0)
您可以使用
进行字符串插值file = "myfilename"
"some text {}".format(file)
# white should result in "some text myfilename"
但是对于操纵路径,最好的方法是使用
os.path.join('/Users/gchella1/Desktop/forGeorge/Xfiles/', file)
答案 2 :(得分: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)