gpt4 book ai didi

python - 如何读取文本文件并将其逐字写入python中的另一个文件?

转载 作者:行者123 更新时间:2023-11-28 19:54:41 29 4
gpt4 key购买 nike

我有一个这样的文本文件:

this is a text file.

我想像这样将它保存到另一个文件中:

this
is
a
text
file

每个单词换行。我也有这个非常简单的代码:

with open("test.txt", encoding = 'utf-8') as f:
for line in f:
for word in line.split():
print(word)
with open("test1.txt","a") as f1:
f1.write(word)

但是打印出来之后,所有的字都会粘在一起。你能帮我个忙吗? (只是一点点提示我该怎么做)

最佳答案

当你这样做时:

for word in line.split():

实际上你正在遍历这个列表:

['this', 'is', 'a', 'text', 'file.']

因为你split在空格上。然后当你把它写回 "test1.txt","a" 时,你正在写那个列表中的所有内容,没有任何分隔符或空格,所以这是你的输出:

thisisatextfile.

现在,如果您想要每一行的每个单词,只需将每个单词与 "\n" 连接起来即可,(换行符)。

我对你的代码做了一些修改,应该是这样的:

with open("test.txt", 'r') as f, open("test1.txt", 'w') as f1:
for line in f:
f1.write('\n'.join(line.split()))
f1.write('\n')

让我们仔细看看最重要的一行:f1.write('\n'.join(line.split())) .

  • str.split()将字符串拆分为空白字符的列表。 (制表符、空格、换行符)。所以 'word1 word2\nword3\tword4'.split() 的结果将是 ['word1', 'word2', 'word3', 'word4'] .

  • str.join(<iterable>)将一个可迭代对象与给定的字符串连接在一起。'\n'.join(['word1', 'word2', 'word3', 'word4'])的结果是'word1\nword2\nword3\nword4'

关于python - 如何读取文本文件并将其逐字写入python中的另一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34705969/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com