我曾经看过以下python
代码。这里f表示指向python
文件的完整路径,我不清楚"arch_%s" % postfix
用于什么?以及postfix
如何在这里工作?
arch = imp.load_source("arch_%s" % postfix, f)
答案 0 :(得分:0)
第一个参数只是一个名称,用于将加载的代码作为常规模块引用,并且与问题的第二部分无关。 %
表示法是旧的format
表示法。它与printf
格式类似,所以
"arch_%s"%post_fix
只会将post_fix
作为字符串%s
插入 - 您可以在我的下一个示例中使用%d
之类的其他内容),所以如果post_fix=64
你会得到1} p>
arch_64
最好通常使用格式,如果它不是一个简单的替换,并且通常:
"arch_{}".format(post_fix)
答案 1 :(得分:0)
在Python中称为String formatting。它用于将某个字符串变量附加到anoter原始字符串。因此,在您的示例中,它会将post_fix
中存储的字符串追加到字符串'arch_'
。
Python 3
由于您添加了python-3x作为标记,因此告诉您在python 3中应该使用format
。这里有很多好examples。它实际上更适合这种类型的操作,因为它处理更多想要的行为。这来自文档;
本节包含新格式语法和比较的示例 使用旧的%-formatting。
在大多数情况下,语法类似于旧的%-formatting, 添加{}和with:使用而不是%。例如, '%03.2f'可以翻译为' {:03.2f}'。
新格式语法还支持新的和不同的选项,如图所示 在以下示例中。
基本用例
在python 2.x
中sentence = raw_input("Enter your name?")
print "Hi %s" %name
在python 3.x
中name = input("Enter your name?")
print ("Hi {}".format(name))