我正在尝试创建一个脚本,其中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将打开列表的所有组件。
答案 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>