gpt4 book ai didi

python - 如何在 Pythonbrew 中使用带空格的位置参数?

转载 作者:行者123 更新时间:2023-11-30 23:52:00 26 4
gpt4 key购买 nike

我一直在使用 argparse 模块来接受程序的输入,并取得了很大的成功。我定义了大约六个可选参数(需要在前面加上 -- 的参数可以放置在列表中的任何位置)和一个位置参数(使用放置顺序来确定参数的必需参数),所以我的使用图表看起来像(为简洁起见,删除了额外的可选参数):

usage: Main.py [-h] [--site SITE] [--username USERNAME] [--password PASSWORD]
[--verbose]
filepath

为了在 Debian(随 Python 2.6 一起提供)上运行 Python 2.7 脚本,我成功地使用了 pythonbrew,它允许多个 Python 安装在同一服务器上共存。使用它的一个很好的副作用意味着我可以关闭脚本的可执行权限,这使我的用户管理变得更加容易。

一切都很好,直到我尝试存储到其中有空格的文件路径(我唯一的位置参数),但我发现我不能!

pythonbrew py Main.py --verbose /media/rackspace/db1/clients/My\ Client/
pythonbrew py Main.py --verbose '/media/rackspace/db1/clients/My\ Client/'
pythonbrew py Main.py --verbose "/media/rackspace/db1/clients/My\ Client/"
pythonbrew py Main.py --verbose [/media/rackspace/db1/clients/My\ Client/]

pythonbrew py Main.py --verbose /media/rackspace/db1/clients/My Client/
pythonbrew py Main.py --verbose '/media/rackspace/db1/clients/My Client/'
pythonbrew py Main.py --verbose "/media/rackspace/db1/clients/My Client/"
pythonbrew py Main.py --verbose [/media/rackspace/db1/clients/My Client/]

都返回相同的错误消息

Main.py: error: unrecognized arguments: Client

有人可以确认这个错误吗?事实上,Python 小组中还没有人提到过它,这让我相信这是一个 Pythonbrew 错误,但我希望保留 Pythonbrew 并找到一种运行此脚本的替代方法。目前,我只是将文件存储到一个没有空格的文件夹中,但我希望有人可以帮助解决此错误。

最佳答案

问题出在pythonbrew/commands/py.py中。每次调用 subprocess.Popen() 都需要进行修改,以便它使用命令列表而不是字符串。

关于python - 如何在 Pythonbrew 中使用带空格的位置参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6495673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com