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

时间:2019-04-11 15:27:19

标签: python

我有一个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")

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

1 个答案:

答案 0 :(得分:0)

os.chdir似乎非常适合接受空间。
在其前面添加\\以用作参数时将其转义!!
还是将路径用\引起来,或者更容易将路径表示为““ path next_part””(单引号然后是双引号)?
另请参见How do I execute a program from Python? os.system fails due to spaces in path