繁体   English   中英

我如何使用argparse制作一个Python3文件来读取文件内容?

[英]How would I make a Python3 file with argparse that would read the contents of a file?

我现在有点像Python noob,因为我只使用了几天,而我想知道如何编写一个使用argparse读取包含大量URL的文件内容的Python脚本并设置内容作为变量? 例如:

root@user:~# python myscript.py -f "URLs.txt"

然后python shell将输出变量

URLs = The contents of the file
print(URLs)

导致:

root@user:~# python myscript.py -f "URLs.txt"
https://stackoverflow.com/
https://stackoverflow.com/
https://stackoverflow.com/
root@user:~#

任何帮助将不胜感激!

首先,我建议:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--foo')
args = parser.parse_args()
with open(args.foo, 'r') as f:
    lines = f.read()
    print(lines)

在我的目录中带有随机文件的文件会产生:

0029:~/mypy$ python stack47119114.py -f foo.txt
    1,    2,     
    3,    4,    5

我们也可以使用argparse.FileType打开文件,但是with open语法更可取。 对于更大的问题,我会将parse_args放在if __name__...块中,然后在函数中定义操作。

但基本要点是,应该首先使用argparse来具有解析器,而不是完整的动作代码。 其目的是找出您的用户想要什么。 在一个实际的问题中,作用于该输入的是分别定义的函数和类的工作(甚至在导入的模块中也是如此)。

暂无
暂无

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

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