python从文本文件中发送特定数量的命令

时间:2014-03-25 23:42:23

标签: python command send gnu-screen

我有一个包含100个bash命令的文本文件,我想在新屏幕中每5个执行一次,但我不知道我是否可以使用"对于"在这种情况下。

例如,我们有这些命令: -

mkdir 1
cd 1
rm -rf 1.txt
rm -rf 2.txt
cd ..
mkdir2
...

我想创建一个新屏幕并将前5个命令发送给它,然后将另外5个命令发送到另一个屏幕到文件末尾。

我怎么能这样做?有没有帮助请编码?

1 个答案:

答案 0 :(得分:1)

我没有看到为什么这样做有任何意义,但你可以结合使用你的解决方案缓冲来自输入的5行并通过;加入它们:

with open('commands.sh') as file:
    buffer = []
    for i, command in enumerate(file):
        buffer.append(command)
        if i % 5 == 0:
            os.system('screen -m -d "{0}"'.format(';'.join(buffer)))
            buffer = []