Python 如何读取文件作为默认用户输入?
如何使用userPython 如何读取文件作为默认用户输入?,python,python-3.x,io,user-input,Python,Python 3.x,Io,User Input,如何使用userinput()函数在python 3.6.x中读取整个文件?就像算法挑战网站一样。例如: 我有一个包含以下内容的文件: line 1 line 2 line 3 end 我的程序将执行以下操作: x = input() while x != 'end': print("I am at", x) x = input() 然后,我会将其作为输出: I am at line 1 I am at line 2 I am at line 3 我想我需要用另一
input()
函数在python 3.6.x中读取整个文件?就像算法挑战网站一样。例如:
- 我有一个包含以下内容的文件:
line 1 line 2 line 3 end
- 我的程序将执行以下操作:
x = input() while x != 'end': print("I am at", x) x = input()
- 然后,我会将其作为输出:
I am at line 1 I am at line 2 I am at line 3
我想我需要用另一个程序(也可能是python或OS脚本)包装我的python示例程序,该程序调用第一个作为用户输入传递文件的程序。但是我该怎么做呢?通常这样的挑战会通过stdin传递输入,并期望通过stdout得到响应 要做到这一点,请从命令行运行命令,如下所示
python program.py < input.txt
python program.py
如果要将脚本的输出保存到文件中,可以将其重定向到文件中
python program.py < input.txt > output.txt
python program.pyoutput.txt
此作业常用的标准库工具是模块:
然后从shell中选择以下选项(它们都有效):
$python3 my\u script.py my\u file.txt
$python3 my\u script.py
谢谢,@Shadow!我希望我能把你和@wim的答案写得正确。但我做不到,他跑得更快。哈哈哈。。。我最好的!从技术上讲,我快了3分钟(鼠标悬停在“1小时前回答”上,以查看时间戳:P,但我不介意任何一种方式。哎呀!你说得对。为了公平起见,我已将你的答案设置为正确。抱歉,各位。
import fileinput
for line in fileinput.input():
print(f'working with line {line}')
$ python3 my_script.py my_file.txt
$ python3 my_script.py < my_file.txt
$ cat my_file.txt | python3 my_script.py