0

我见过一些与此类似的问题,但没有一个对我的特殊情况有真正帮助。我有一个循环遍历文本文件目录的脚本,每个文件都有一个单行脚本命令,需要通过命令提示符运行。基本布局如下:

for _, _, files in os.walk(my_directory):
  for f in files:
    fo = open(my_directory + f, 'r')
    command = fo.readlines()
    os.system(command)
    #rest of the code...

当我只用一个文件测试它时它工作正常,但是当我在目录中一起做它们时,它们似乎在每个命令中的随机点停止。我认为这是因为它们重叠并且没有时间完成(具体命令是一个相当长的运行过程,每个大约 2 分钟)。在继续下一个之前,如何确保每个 os.system 调用都完整运行?

4

1 回答 1

1

os.system 在命令完成之前不会继续......所以重叠的命令不是你的问题

我怀疑问题是 readlines 返回一个列表... os.system 不期望一个列表...尝试类似

for cmd in command: os.system(cmd)
于 2013-09-24T19:12:54.643 回答