将动态生成的字符串转换为原始纹理

2024-06-03 07:43:27 发布

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

我对python很陌生,我遇到了一个问题,我从字典中动态检索一个字符串,如下所示

files="eputilities/epbalancing_alb/referenced assemblies/model/cv6_xmltypemodel_xp2.cs"

我无法对这个特定的文件执行任何操作,因为它正在以两个不同的字符串读取路径

eputilities/epbalancing_alb/referenced and assemblies/model/cv6_xmltypemodel_xp2.cs

因为引用的和程序集之间有一个空格。在

我想知道如何将其转换为原始字符串(忽略空格,但仍保留两个字符串之间的空格,并将其视为一个字符串)

我不明白这一点,尽管网上有一些评论。在

请帮忙。在

谢谢


Tags: 字符串model字典动态cs空格alb陌生
2条回答

从注释到另一个答案,我理解您希望执行某个外部工具并向其传递参数(文件名)。但是,此参数中有空格。在

我建议使用方法;当然,我会使用subprocess,而不是{}。在

import subprocess

# Option 1
subprocess.call([path_to_executable, parameter])

# Option 2
subprocess.call("%s \"%s\"" % (path_to_executable, parameter), shell=True)

对我来说,两种方法都有效,请检查它们是否对你也有效。在

说明:

选项1采用字符串列表,其中第一个字符串必须是可执行文件的路径,其他所有字符串都被解释为命令行参数。Assubprocess.call knows about each of these entities, it properly calls the external so that it understand that参数`将被解释为一个带空格的字符串,而不是两个或多个参数。在

选项2不同。通过关键字参数shell=True,我们告诉subprocess.call通过shell执行调用,即第一个位置参数是“像在shell中这样被输入的”。但现在,我们必须相应地准备这根绳子。那么,如果必须键入一个以空格作为参数的文件名,你会怎么做?你会把它放在双引号之间。这就是我在这里做的。在

python中的标准字符串构建是这样工作的

'%s foo %s'%(str_val_1, str_val_2)

如果我理解正确的话,要么有两个字符串的列表,要么有两个不同的字符串变量。在

对于前面的步骤:

^{pr2}$

对于后者,请这样做:

'%s %s'%(string_1, string_2)

相关问题 更多 >