fh = open(args.filename)
for line in fh:
if args.searchstring in line:
print(line)
从命令行,您的一个用户现在可以执行以下操作:
$ python3 searcher.py /usr/dict/words bana
最好的部分是,如果用户未能给出要查找的参数,脚本会很好地告诉他们您要查找的语法:
$ python3 searcher.py
usage: searcher.py [-h] filename searchstring
searcher.py: error: the following arguments are required: filename, searchstring
更好的是,用户可以输入帮助选项来获取程序的文档:
python3 .\searcher.py help
usage: searcher.py [-h] filename searchstring
searches a file for a specific string and prints the line if the string is found.
positional arguments:
filename file to search through
searchstring string to look for
optional arguments:
-h, help show this help message and exit
您可以使用3.2中新增的argparse module。在
首先,导入文件顶部的库:
然后,创建一个解析器对象,告诉它您正在查找两个命令行字符串,第一个是文件名,第二个是您要搜索的字符串:
^{pr2}$然后,在命令行上运行parser对象,获取一个包含要查找的字段的对象(如字符串):
现在,”args.文件名“包含您的文件名和”字符串.args“包含搜索字符串,因此请按如下方式重写循环:
从命令行,您的一个用户现在可以执行以下操作:
最好的部分是,如果用户未能给出要查找的参数,脚本会很好地告诉他们您要查找的语法:
更好的是,用户可以输入帮助选项来获取程序的文档:
别忘了你还可以加上#!/将usr/bin/python3放在代码的顶部并更改可执行标志,那么就不必在命令行中键入python3。在
当然,您可以使用^{} list 从命令行读取文件名:
您需要在命令行中使用文件名调用脚本:
^{pr2}$另一个选择是使用^{} function 在脚本运行时要求用户输入文件名:
完成后记得关闭文件!一种更具python风格的方法,假设您不需要对文件执行其他操作:
^{pr2}$一旦离开该块,
with
语句将关闭file对象。在相关问题 更多 >
编程相关推荐