gpt4 book ai didi

python - 在Python中执行带空格的Windows路径

转载 作者:太空宇宙 更新时间:2023-11-03 17:06:04 34 4
gpt4 key购买 nike

我正在尝试构建一个在 Windows 环境中模仿 Windows 的“运行”功能的程序。现在我知道这听起来有点傻,但我们使用的是“有限”计算机,并且 cmd 完全锁定,因此我们别无选择,只能根据需要构建自己的程序文件。

具体来说,我想做的是一个小实用程序,它将询问驱动器、主题和类(class)编号,并基于此打开完整路径。

i.e. W Python 47 -> w://courses/subjects/python/classes/47 - Arrays & Pointers

我已经用 Python 完成了大部分工作,并达到了最后阶段,我需要仅根据数字获取完整路径,代码如下:

os.system(start 'drive + '://courses/subjects/' + subject + '/classes/' + class')

其中drive、subject和class是保存当前路径数据的变量。

问题在于,当文件路径中有空格时,Windows 无法找到它,并产生错误。

简单的解决方案是加双引号,但由于某种原因,start 命令上的双引号被视为被阻止的 cmd 命令。

关于解决方法的任何想法,或者Python可能不是可行的方法,因此关于不同语言的任何想法都会更容易。 (我有C++、Python、Java基础知识)

附:这不是我正在使用的确切代码,我明天将发布该代码。

最佳答案

start 后的第一个参数是新创建的命令提示符窗口的名称,第二个和第三个参数应分别是应用程序及其参数的路径。

start "" "c:\path with spaces\app.exe" param1 "param with spaces"

如果你想使用os.system,你可以尝试:

norm_path = os.path.normpath("{0}://courses/subjects/{1}/classes/{2}".format (drive, subject, class_name))
os.system('start "" "' + norm_path + '"')

但我可能会使用 os.startfile :

norm_path = os.path.normpath("{0}://courses/subjects/{1}/classes/{2}".format (drive, subject, class_name))
os.startfile( norm_path )

请注意:您不应使用名为class的变量。

关于python - 在Python中执行带空格的Windows路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34582030/

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