处理os.path.join操作系统使用子进程在其中包含空格的路径

2024-09-30 22:09:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我当前正在使用os.path.join操作系统生成文件的路径以下:在

myFile = 'csvfile.csv'
myPath = r'\\mydomain\12345\Original Format\'
myFullPath = os.path.join(myPath, myFile)

这个输出:-在

^{pr2}$

这个变量工作得很好,但是我需要在以后的子进程调用中调用它,因为我希望运行一个Windows CLI.exe并将我的变量myFullPath作为参数传递给Windows CLI。不幸的是,每当我运行subprocess.call()函数,它失败,因为它无法处理目录路径中“原始格式”之间的空格。在

有什么建议我如何处理这个问题,以便子进程调用可以处理路径中的空间?在

我的子流程调用是以下:在

command = r"C:/Program Files/myExe.exe -user %s -case %s -tags %s" % (username, path, tags)
subprocess.call(command)

谢谢


Tags: path路径cli进程oswindowstagscall
1条回答
网友
1楼 · 发布于 2024-09-30 22:09:46

我建议你使用操作系统 如果您使用的是windows,则需要对所需的每个\进行“scape”

import os
remote_dir = os.path.join("\\\\","mydomain", "12345","Original Format")
fullpath = os.path.join(remote_dir, "csvfile.csv")

最好使用正确的操作系统连接。如果存在空格或其他意外字符,os.path.join()将确保返回正确的分隔符。在

相关问题 更多 >