将我当前的工作目录更改为包含空格的另一个目录

问题描述 投票:-1回答:1

我有一个Python方法,首先将工作目录更改为特定路径,然后需要执行命令 - 下面是相同的提取:

def start_testing_binary(self, command, path, binary, args, config):
    os.chdir(path)
    cmd = command.replace('"', '') + binary+ args.replace('"', '')  + config.replace('"', '') 
    return cmd

当我使用中间有空格的系统路径调用方法时,我得到以下错误:

start_testing_binary("myexe", "C:\\Users\\Project Work\\bin", ".exe", "-c" , "myinfo.ini")
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: '"C:\\Users\\Project Work\\bin"'  

但是当我在下面的调用中硬编码它的值如上所述:

os.chdir("C:\\Users\\Project Work\\bin")

代码不会报告任何错误 - 如何解决将路径作为参数传递的问题?

python
1个回答
0
投票

os.chdir似乎很高兴接受这个空间。 在用作参数时,在它前面添加\\以逃避它!? 或者将路径用引号括起来,或者更容易将路径作为'“path next_part”'(单个然后双引号)? 另见How do I execute a program from Python? os.system fails due to spaces in path

© www.soinside.com 2019 - 2024. All rights reserved.