我现在只是一个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:~#
非常感谢任何帮助!
答案 0 :(得分:0)
首先,我建议:
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)
在我的目录中使用ramdom文件生成:
0029:~/mypy$ python stack47119114.py -f foo.txt
1, 2,
3, 4, 5
我们也可以使用argparse.FileType
打开文件,但最好使用with open
语法。对于更大的问题,我将parse_args
放在if __name__...
块中,并在函数中定义操作。
但基本观点是argparse
应该主要使用解析器,而不是完整的动作代码。其目的是找出用户想要的东西。在一个真正的问题中,对该输入进行操作是单独定义的函数和类的工作(甚至可能在导入的模块中)。