Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带引号的python参数中带空格的字符串_Python_Python 3.x_Argparse - Fatal编程技术网

带引号的python参数中带空格的字符串

带引号的python参数中带空格的字符串,python,python-3.x,argparse,Python,Python 3.x,Argparse,在Python3参数中传递带有空格的参数时,我遇到了一个奇怪的问题 例如: camera.timelapse.upload --file="dcim/20200821.mp4" --title="20200821" --description="Timelapse for 20200821" --noauth_local_webserver camera.timelapse.upload --file="dcim/20200

在Python3参数中传递带有空格的参数时,我遇到了一个奇怪的问题

例如:

camera.timelapse.upload --file="dcim/20200821.mp4" --title="20200821" --description="Timelapse for 20200821" --noauth_local_webserver
camera.timelapse.upload --file="dcim/20200821.mp4" --title="20200821 test" --description="Timelapse for 20200821" --noauth_local_webserver
结果:

camera.timelapse.upload.py:错误:无法识别的参数:用于20200821


另一个例子:

camera.timelapse.upload --file="dcim/20200821.mp4" --title="20200821" --description="Timelapse for 20200821" --noauth_local_webserver
camera.timelapse.upload --file="dcim/20200821.mp4" --title="20200821 test" --description="Timelapse for 20200821" --noauth_local_webserver
结果:

camera.timelapse.upload.py:错误:无法识别的参数:测试20200821

在本例中,您可以看到,它将每个分隔开的单词视为一个单独的参数,即使它们被引用


我尝试了使用和不使用=,结果是一样的。我尝试用单引号代替双引号,结果还是一样。

多亏了@puffin,问题出在别名上,而不是参数上。别名必须引用其参数变量。比如说

function camera.timelapse { sudo python3 ~/camera.timelapse/camera.timelapse.py "$@"; }

我们需要查看处理参数解析的代码才能帮助解决这个问题。用空格引用字符串应该有效。由argparser处理
从oauth2client.tools导入运行\u flow,argparser
查看引发错误的代码以及引发错误时字符串的值仍然很有用
argparser。添加参数(“--title”,default=“Timelapse”,help=“Set the video title”)
您测试过终端传递程序的内容吗?打印(sys.args)。它可以是您选择的终端,而不是python。例如,您可能需要放置转义字符,如“dcim\/20200821.mp4”或“time\thing”。旅游终端如何处理报价?