在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()