Python:在os.system中添加变量路径(“打开”和“x2B”文件名)

Python:在os.system中添加变量路径(“打开”和“x2B”文件名),python,file,list,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

我试图创建一个脚本,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可以打开列表中的所有组件。

操作员希望
%
字符串的左侧为
'open+%s'
。您为它提供了
os.system()
的返回值。另外,我认为您需要一个空格,而不是字符串中的
+

试试这个:

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

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

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

使用subprocess是更好的解决方案,因为根据官方文档,os.system在Python中已被弃用,尽管从技术上讲,它并没有脱离该语言

希望有帮助

编辑:

如果您在
开始
中使用windows sub,请打开

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