Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.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在cmd中使用带双反斜杠的文件目录_Python_Cmd - Fatal编程技术网

使用python在cmd中使用带双反斜杠的文件目录

使用python在cmd中使用带双反斜杠的文件目录,python,cmd,Python,Cmd,假设这是一个使用python脚本获得的文件路径: f_path = os.getcwd() + "\\" +'out.dat' 例如,此变量的值为: 'C:\\My Python\\output\\out.dat' cmd_to_parse = 'extProg ' + '"' + f_path + '"' 现在我想通过cmd使用外部程序extProg打开这个文件。大概是这样的: cmd_to_parse = 'extProg ' + f_path os.system(cmd_to_par

假设这是一个使用python脚本获得的文件路径:

f_path = os.getcwd() + "\\" +'out.dat'
例如,此变量的值为:

'C:\\My Python\\output\\out.dat'
cmd_to_parse = 'extProg ' + '"' + f_path + '"'
现在我想通过cmd使用外部程序extProg打开这个文件。大概是这样的:

cmd_to_parse = 'extProg ' + f_path
os.system(cmd_to_parse)
但我得到了以下错误:

couldn't read file "E:\My": no such file or directory

这可能是由于文件路径中出现了双反斜杠。如何解决此问题?

在路径周围使用引号,空格为“C:\\My Python\\output\\out.dat”,例如:

'C:\\My Python\\output\\out.dat'
cmd_to_parse = 'extProg ' + '"' + f_path + '"'

将路径部分与os.path.join合并。问题是文件名中的空格,即My Python。请注意路径是如何在空格处吐出的,而不是反斜杠。这可能是你的问题。尝试使用子进程而不是os.system.EXCAPE返回空间slash@Evert我尝试了subprocess.call['extProg',f_path]。谢谢。请注意,如果可执行文件是带引号的路径,CMD将删除第一个和最后一个引号,这将破坏f_路径的引号。在本例中,将整个命令用双引号括起来。例如,'+'+r'C:\ProgramFiles\app\app.exe'+'++'+'+'+f_path++'''+'。shell=True的子流程为您执行此操作。