繁体   English   中英

如何从 Mac 终端上的命令行读取文件以获取 Python

[英]How to read file from the command line on Mac terminal for Python

如何读取文件(.in 格式)并将其应用于 my.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 和一般编码是全新的,所以我很难弄清楚这一点. 这种格式用于我的 class 顺便说一句。 对不起,如果有什么令人困惑的。

假设您有文件add4.py ,内容:

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 或将add4.py的内容重定向到Numbers.in | (管道)或使用< (从文件中读取标准输入)

示例 1:

$ cat Numbers.in | python add4.py
9

示例 2:

$ python add4.py < Numbers.in
9

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


如果您想阅读多行并期望 output 像

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM