如何创建处理输入字符串或输入文件的 python 脚本?

我想制作一个 python 脚本,它可以处理输入命令行的字符串

python my_script.py "Hello World"

或文件中的一组字符串(例如 input_file.txt)

python my_script.py -i input_file.txt

有没有办法通过argparse?到目前为止,我可以处理输入文件,但我不知道如何添加只处理直接在命令行中输入的字符串的选项。


当年话下
浏览 123回答 2
2回答

三国纷争

使 argparse 接受一个位置参数(文件名或字符串)和一个标志 (-i)。如果存在标志,则将参数视为文件。查看argparse 教程以获取更多信息。我修改了示例以满足您的需要。import argparseparser = argparse.ArgumentParser()parser.add_argument("inp", help="input string or input file")parser.add_argument("-i", "--treat-as-file", action="store_true",                    help="reads from file if specified")args = parser.parse_args()if args.treat_as_file:    print("Treating {} as input file".format(args.inp))else:    print("Treating {} as the input".format(args.inp))输出:/tmp $ python test.py abcdeTreating abcde as the input/tmp $ python test.py -i abcdeTreating abcde as input file

喵喵时光机

要处理命令行字符串,您可以使用sys.argv,它是输入命令行的所有参数的列表。main.py:import sys print(sys.argv)在 CLI 中运行以下行>> python main.py foo bar "hello world"会输出:['main.py', 'foo', 'bar', 'hello world']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python