【发布时间】:2021-10-23 13:44:46
【问题描述】:
我正在使用 argparse 来获取命令行参数,例如:
parser = argparse.ArgumentParser()
parser.add_argument('execCmd' , type=str)
args = parser.parse_args()
print(args)
现在当我像这样从命令行运行它时:
$python script.py "/bin/exec 10"
控制台上的结果是
Namespace(execCmd='C:/Program Files/usr/bin/exec 10')
它将文件路径添加到参数中。用户可以使用“/”开始命令,也可以不使用。有没有办法在 argeparse 中处理这个问题,如果用户添加“/”,则命令在没有文件目录的情况下按原样传递?
【问题讨论】:
-
我运行了您的代码,但没有得到前置结果?您确定您正确复制并粘贴了代码吗?
-
是的!这是在窗户里。以“/”开头总是在文件路径前面
-
添加的是操作系统,而不是 argparse。