使用python处理文件目录

时间:2013-08-21 14:06:35

标签: python file operating-system

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

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

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

3 个答案:

答案 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)
相关问题