从 input() 中提取参数
Extracting arguments from input()
我想知道是否有一些巧妙的方法可以从 input()
函数中提取用户输入参数并将它们存储在 list
中。完全像 sys.argv
存储命令行参数。
例如,如果用户输入
square 4 "string with space" -arg
args 的 list
应该包含 ['square', '4', 'string with space', '-arg']
.
csv
模块提供了一种拆分字符串同时保持引用子字符串完整的方法。
>>> import csv
>>> s = 'square 4 "string with space" -arg'
>>> next(csv.reader([s], delimiter=' '))
['square', '4', 'string with space', '-arg']
当然,这不是正确的命令行解析。如果您可以在程序调用时获取用户输入,请查看 argparse
模块。
我想知道是否有一些巧妙的方法可以从 input()
函数中提取用户输入参数并将它们存储在 list
中。完全像 sys.argv
存储命令行参数。
例如,如果用户输入
square 4 "string with space" -arg
args 的 list
应该包含 ['square', '4', 'string with space', '-arg']
.
csv
模块提供了一种拆分字符串同时保持引用子字符串完整的方法。
>>> import csv
>>> s = 'square 4 "string with space" -arg'
>>> next(csv.reader([s], delimiter=' '))
['square', '4', 'string with space', '-arg']
当然,这不是正确的命令行解析。如果您可以在程序调用时获取用户输入,请查看 argparse
模块。