为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

当年话下 2022-12-20 12:18:02
我想制作一个 python 脚本,它可以处理输入命令行的字符串python my_script.py "Hello World"或文件中的一组字符串(例如 input_file.txt)python my_script.py -i input_file.txt有没有办法通过argparse?到目前为止,我可以处理输入文件,但我不知道如何添加只处理直接在命令行中输入的字符串的选项。
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

使 argparse 接受一个位置参数(文件名或字符串)和一个标志 (-i)。如果存在标志,则将参数视为文件。查看argparse 教程以获取更多信息。我修改了示例以满足您的需要。


import argparse

parser = 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 abcde

Treating abcde as the input

/tmp $ python test.py -i abcde

Treating abcde as input file


查看完整回答
反对 回复 2022-12-20
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

要处理命令行字符串,您可以使用sys.argv,它是输入命令行的所有参数的列表。

main.py:

import sys
print(sys.argv)

在 CLI 中运行以下行

>> python main.py foo bar "hello world"

会输出:

['main.py', 'foo', 'bar', 'hello world']


查看完整回答
反对 回复 2022-12-20
  • 2 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信