假设我有一个在zsh
中运行的程序。
它接受一些命令,比如类型i
+ number
和Enter
键意味着在数据结构中插入一个数字并等待下一个输入。
我需要键入这么多数字来测试错误,这很费时间。 所以我想编写一个shell脚本来创建一个可以自动完成的循环。我已经检查了一些文档,但是没有找到在程序提示符下运行脚本的正确方法。
我的意思是现在程序已经运行并等待我定义的命令,如何使用脚本操作终端中的输入?
P.S。
我的英语不太好,所以我的描述可能有点误导:(,Kind Stack Overflowers,任何人都可以提供帮助吗?
Python有os
模块,我尝试过但都失败了。
我不想直接在程序代码中编写循环。
答案 0 :(得分:0)
我认为这一定是你想要完成的事情:
how_many = int(input('How many numbers do you want to append to the list? '))
a_list = []
for i in range(how_many):
number = int(input('Enter a number: '))
a_list.append(number)
print("The list is: {}".format(a_list))
在你的shell中,你可以像这样运行它:
> python .\test.py
How many numbers do you want to append to the list? 2
Enter a number: 10
Enter a number: 20
The list is: [10, 20]
如果你想从文件中获取输入,你可以尝试这样的事情:
import sys
in_file = sys.argv[1]
a_list = []
with open(in_file) as f:
for line in f:
print("The numbers in the line: {}".format(line))
numbers = line.split(',')
for num in numbers:
a_list.append(int(num.strip()))
print("Done appending the numbers to the list.")
print("The list is: {}".format(a_list))
在shell中尝试:
> python test.py nums.txt
The numbers in the line: 1, 2, 3, 4, 5
Done appending the numbers to the list.
The list is: [1, 2, 3, 4, 5]
nums.txt
文件包含以下一行:1, 2, 3, 4, 5