python从文本文件发送特定数量的命令
我有一个包含100个bash命令的文本文件,我想在一个新屏幕中每5个命令执行一次,但我不知道在这种情况下是否可以使用“for” 例如,我们有以下命令:-python从文本文件发送特定数量的命令,python,command,send,gnu-screen,Python,Command,Send,Gnu Screen,我有一个包含100个bash命令的文本文件,我想在一个新屏幕中每5个命令执行一次,但我不知道在这种情况下是否可以使用“for” 例如,我们有以下命令:- mkdir 1 cd 1 rm -rf 1.txt rm -rf 2.txt cd .. mkdir2 ... 我想创建一个新屏幕,并将前5个命令发送到要执行的屏幕,然后将其他5个命令发送到文件末尾的另一个屏幕 我怎么能做到?编码方面有什么帮助吗?我不明白为什么要这样做,但您可以将您的解决方案与缓冲输入中的5行并通过连接它们结合使用: wit
mkdir 1
cd 1
rm -rf 1.txt
rm -rf 2.txt
cd ..
mkdir2
...
我想创建一个新屏幕,并将前5个命令发送到要执行的屏幕,然后将其他5个命令发送到文件末尾的另一个屏幕
我怎么能做到?编码方面有什么帮助吗?我不明白为什么要这样做,但您可以将您的解决方案与缓冲输入中的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 = []
什么?你想每5个命令生成一个新屏幕吗?你为什么这么做?你为什么不把输出重定向到一个文件或别的什么地方呢?我发送的命令需要很长时间,因为它要处理大量的文件。我只是写了一个例子。python脚本只是将整个命令的过程自动化。您尝试过什么?Python有一个模块。我使用了os.system(“scren-m-d{0}.format(line))
但是这会将文本中的每一行发送到一个新屏幕,我想将每5行一起发送