我想从python代码所在的目录中删除几个名称相似的文件。从终端手动执行此操作非常简单:
rm file.*
不过,我知道通配符在pexpect中不可用。因为只有四个文件,所以我要生成一个子文件,然后从这个子文件中删除所需的文件:
^{pr2}$这里的问题是子进程在生成并删除第一个文件后自行终止。我想这是因为终端在删除一个文件后返回一个新行。
所以我的解决方案是生成4个子代来删除文件。像这样:
child1 = pexpect('rm file.1')
child2 = pexpect('rm file.2')
child3 = pexpect('rm file.3')
child4 = pexpect('rm file.4')
有更好的方法吗?就像在更优雅和只使用一个子进程?也许我可以用某种期望让孩子活下来,或者以列表的形式一次提交所有的论点?
警告:测试可能会破坏数据的代码!也许你不清楚什么,或者我误解了。小心!在
这应该做到:
使用
os.remove()
比调用子流程好得多。在这个确切的代码要求您在
file.*
文件所在的目录中运行它。很容易修改。在相关问题 更多 >
编程相关推荐