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

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']
添加回答
舉報