Python3打印函数
Python3 Print Function
这可能是一个简单的问题,但我似乎无法让它在不同的排列中始终如一地工作。
Python3 相当于什么?
print >> sys.stdout, "Generated file: %s in directory %s\n" % (name+".wav", outdir)
我试过了
print("String to print %s %s\n", file=sys.stdout % (var1, var2))
和
print("String to print {} {}\n".format(var1, var2), file=sys.stdout)
既然 >> 运算符已不存在,Python3 中执行此操作的最佳方法是什么。我知道 % () 在打印函数的右括号内,但在使用格式以及同时打印到特定 file/stream 时我总是遇到麻烦。
将百分比放在字符串文字末尾的右边。
print("String to print %s %s\n" % (var1, var2), file=sys.stdout)
百分比运算符与任何其他二元运算符一样。它介于它正在操作的两件事之间——在本例中,格式字符串和格式参数。这与 print(2+2, file=sys.stdout)
有效而 print(2, file=sys.stdout + 2)
无效的原因相同。
(个人观点:我认为 format
比百分比样式格式好得多,所以你应该只使用你的第三个代码块,它的行为与你编写的一样)
这可能是一个简单的问题,但我似乎无法让它在不同的排列中始终如一地工作。
Python3 相当于什么?
print >> sys.stdout, "Generated file: %s in directory %s\n" % (name+".wav", outdir)
我试过了
print("String to print %s %s\n", file=sys.stdout % (var1, var2))
和
print("String to print {} {}\n".format(var1, var2), file=sys.stdout)
既然 >> 运算符已不存在,Python3 中执行此操作的最佳方法是什么。我知道 % () 在打印函数的右括号内,但在使用格式以及同时打印到特定 file/stream 时我总是遇到麻烦。
将百分比放在字符串文字末尾的右边。
print("String to print %s %s\n" % (var1, var2), file=sys.stdout)
百分比运算符与任何其他二元运算符一样。它介于它正在操作的两件事之间——在本例中,格式字符串和格式参数。这与 print(2+2, file=sys.stdout)
有效而 print(2, file=sys.stdout + 2)
无效的原因相同。
(个人观点:我认为 format
比百分比样式格式好得多,所以你应该只使用你的第三个代码块,它的行为与你编写的一样)