Python:将变量路径添加到os.system中(“open”+ filename)

时间:2013-09-12 19:46:55

标签: python file list

我正在尝试创建一个脚本,其中python通过一个目录,找到以* ref.SDAT结尾的所有文件,然后将它们全部打开。

到目前为止,我已经对文件进行了排序过程。想要的文件放入reflist:

import os
import glob
import subprocess

os.chdir("/Users/BabyJ/Desktop/MRSDATA")
reflist = glob.glob('*raw_ref.SDAT')

print "These are the ref files:"
for i in reflist:
     os.system('open+%s') %i

我不知道如何构造语法,以便os.system将打开列表的所有组件。

2 个答案:

答案 0 :(得分:1)

%运算符需要'open+%s'字符串作为其左侧。您提供的返回值为os.system()。另外,我认为你想要一个空格,而不是字符串中的+

试试这个:

os.system('open %s'%i)

答案 1 :(得分:0)

我假设你使用open判断你是在Mac或Unix系统上。如果是这种情况,请使用以下任一方法启动并运行。

for i in reflist:
    os.system('open ' + '%s' % i)

或:

for i in reflist:
    subprocess.call('open ' + '%s' % i, shell = True)

使用子进程是更好的解决方案,因为os.system虽然在技术上不是从语言中删除,但是根据官方文档在Python中弃用。

希望有所帮助。

编辑:

如果您在start open中使用windows sub。{/ p>