Python 2.6引入了该str.format()方法,其语法与现有%运算符略有不同.哪种情况更好,哪种情况更好?
以下使用每种方法并具有相同的结果,那么有什么区别?
#!/usr/bin/python
sub1 = "python string!"
sub2 = "an arg"
a = "i am a %s" % sub1
b = "i am a {0}".format(sub1)
c = "with %(kwarg)s!" % {'kwarg':sub2}
d = "with {kwarg}!".format(kwarg=sub2)
print a # "i am a python string!"
print b # "i am a python string!"
print c # "with an arg!"
print d # "with an arg!"
Run Code Online (Sandbox Code Playgroud)此外,何时在Python中发生字符串格式化?例如,如果我的日志记录级别设置为HIGH,我仍然会执行以下%操作吗?如果是这样,有没有办法避免这种情况?
log.debug("some debug info: %s" % some_info)
Run Code Online (Sandbox Code Playgroud)我正在使用Python打开文本文档:
text_file = open("Output.txt", "w")
text_file.write("Purchase Amount: " 'TotalAmount')
text_file.close()
Run Code Online (Sandbox Code Playgroud)
我想将字符串变量的值替换TotalAmount为文本文档.有人可以让我知道怎么做吗?
我想要一种有效的方法在Python中将一个字符串附加到另一个字符串.
var1 = "foo"
var2 = "bar"
var3 = var1 + var2
Run Code Online (Sandbox Code Playgroud)
有没有什么好的内置方法可供使用?
*运算符在Python 中的含义是什么,例如在代码中zip(*x)或f(**k)?
python syntax parameter-passing argument-unpacking iterable-unpacking
这只是我的代码片段:
print("Total score for %s is %s ", name, score)
Run Code Online (Sandbox Code Playgroud)
但我希望它打印出来:
"(姓名)总分为(得分)"
where name是列表中的变量,score是一个整数.这是Python 3.3,如果这有帮助的话.
该程序应该采用两个名称,如果它们的长度相同,则应检查它们是否是同一个单词.如果它是相同的单词,它将打印"名称相同".如果它们长度相同但字母不同,则会打印"名称不同但长度相同".我遇到问题的部分是在底部4行.
#!/usr/bin/env python
# Enter your code for "What's In (The Length Of) A Name?" here.
name1 = input("Enter name 1: ")
name2 = input("Enter name 2: ")
len(name1)
len(name2)
if len(name1) == len(name2):
if name1 == name2:
print ("The names are the same")
else:
print ("The names are different, but are the same length")
if len(name1) > len(name2):
print ("'{0}' is longer than '{1}'"% name1, name2)
elif len(name1) < len(name2):
print ("'{0}'is longer than '{1}'"% …Run Code Online (Sandbox Code Playgroud) 我需要将文件路径名传递给模块,该模块创建报告文档为pdf,html等.如何从目录名,基本文件名和fileformat字符串构建文件路径名?
在通话时该目录可能存在也可能不存在
例如
dir_name='/home/me/dev/my_reports'
base_filename='daily_report'
format = 'pdf'
Run Code Online (Sandbox Code Playgroud)
我需要创建一个字符串 '/home/me/dev/my_reports/daily_report.pdf'
手动连接片段似乎不是一个好方法.我试过os.path.join
join(dir_name,base_filename,format)
Run Code Online (Sandbox Code Playgroud)
但它给了
/home/me/dev/my_reports/daily_report/pdf
Run Code Online (Sandbox Code Playgroud) 所以,我有这个问题.我得到了元组(1,2,3),我应该用字符串格式打印.例如.
tup = (1,2,3)
print "this is a tuple %something" % (tup)
Run Code Online (Sandbox Code Playgroud)
这应该用括号打印元组表示,比如
这是一个元组(1,2,3)
但我得到了TypeError: not all arguments converted during string formatting.
我能在世界上做到这一点吗?有点失去了这里,如果你们可以指出我正确的方向:)
"(%d goals, $%d)" % (self.goals, self.penalties)
Run Code Online (Sandbox Code Playgroud)
^我知道如何在Python 2中执行此操作
什么是Python 3版本?
我尝试在线搜索示例,但我一直在使用Python 2版本
我需要找出如何将数字格式化为字符串.我的代码在这里:
return str(hours)+":"+str(minutes)+":"+str(seconds)+" "+ampm
Run Code Online (Sandbox Code Playgroud)
小时和分钟是整数,秒是浮点数.str()函数将所有这些数字转换为十分之一(0.1)的位置.因此,不是我的字符串输出"5:30:59.07 pm",它将显示类似"5.0:30.0:59.1 pm"的内容.
最重要的是,我需要为我做什么库/功能?