如何在Mac终端为Python从命令行读取文件



如何读取文件(.in格式)并将其应用于我的.py Python程序?

例如,我的python代码标题为Add_4.py:
import sys
main():
num = int(sys.stdin.readline().strip())
final_output = num + 4
print(final_output)
if __name__ == "__main__":
main()

文本文件的标题为Numbers.in:

5
18
-3

我相信我必须在终端中使用'<'符号,我知道我必须跟踪我的文件的位置,但我是Python和编码的新手,所以我很难弄清楚这一点。顺便说一句,我的类正在使用这种格式!如果有什么地方让你困惑了,我很抱歉。

假设你有一个文件add4.py, content:

import sys
def main():
num = int(sys.stdin.readline().strip())
final_output = num + 4
print(final_output)
if __name__ == "__main__":
main()

和明文文件Numbers.in,内容:

5
18
-3

您可以使用|(pipe)或<(从文件中读取stdin)将Numbers.in的内容管道或重定向到add4.py

示例1:

$ cat Numbers.in | python add4.py
9

示例2:

$ python add4.py < Numbers.in
9

请注意,由于python代码的编写方式,只读取第一行(数字5),然后将4添加为9


如果您想读取多行并期望输出像

9
22
1

那么你应该使用readlines而不是readline

文件add4all.py,内容:

import sys
def main():
lines = sys.stdin.readlines()
for num in lines:
final_output = int(num) + 4
print(final_output)
if __name__ == "__main__":
main()

那么结果是:

$ python add4all.py < Numbers.in 
9
22
1

最新更新