在python中写入文本文件时,如何在单词之间留出空格
以下代码写入文本文件在python中写入文本文件时,如何在单词之间留出空格,python,writing,Python,Writing,以下代码写入文本文件 if classno== '1': f = open("class1.txt", "a") if classno== '2': f = open("class2.txt", "a") if classno== '3': f = open("class3.txt", "a") f.write(name) f.write(score) f.close() 但是,在文本文件中,名称和分数之间没有空格。例如,如何将中的“James14”更改为“James
if classno== '1':
f = open("class1.txt", "a")
if classno== '2':
f = open("class2.txt", "a")
if classno== '3':
f = open("class3.txt", "a")
f.write(name)
f.write(score)
f.close()
但是,在文本文件中,名称和分数之间没有空格。例如,如何将中的“James14”更改为“James14”您可以尝试
f.write(name)
f.write(' ')
f.write(score)
或
或
或
或
或
您必须将该空间写入:
f.write(name)
f.write(' ')
f.write(score)
或使用字符串格式:
f.write('{} {}'.format(name, score))
如果您使用的是Python 3,或者使用了来自_future _导入打印_函数的,您也可以使用,并让它为您添加空间:
print(name, score, file=f, end='')
我将end
设置为空字符串,因为否则还将得到一个换行符。当然,如果要向文件中写入多个名称和分数,并且每个条目都需要在其自己的行上,那么实际上可能需要该换行符。一种简单的方法是简单地用空格字符连接
f.write(name + ' ' + score)
一种更可靠的方法(如果格式更复杂)是使用格式
方法
f.write('{} {}'.format(name, score))
你应该格式化一个字符串
output = "%(Name)s %(Score)s" %{'Name': name, 'Score':score}
f.write(output)
f.close()
基本上,%(Name)s是字符串的占位符(用%表示)(用括号后面的s表示),我们将用“Name”来引用它。下面是用“”包装的格式字符串,我们有一个奇怪的东西:
%{'Name':Name,'Score':Score}
这是一本可以替换“Name”和“Score”占位符的词典。巴尔加夫和马尔金的答案很好。有很多方法可以做到这一点。我想补充一点,.format
方式似乎更好一些,因为您可以潜在地重用参数并更好地组织代码。f.write(“”)在它们之间是许多方式之一
f.write('{} {}'.format(name, score))
print(name, score, file=f, end='')
f.write(name + ' ' + score)
f.write('{} {}'.format(name, score))
output = "%(Name)s %(Score)s" %{'Name': name, 'Score':score}
f.write(output)
f.close()