gpt4 book ai didi

Python 读取和写入 .txt 文件

转载 作者:太空宇宙 更新时间:2023-11-03 15:31:42 25 4
gpt4 key购买 nike

我需要从babynames2014.txt 文件中读取姓名,然后创建两个新文件,将男孩和女孩的名字分开。生成的文件应命名为 boynames2014.txt 和 girlsnames.txt。 Babynames2014.txt 文件如下所示:

1 诺亚艾玛

2 利亚姆·奥利维亚

3 梅森索菲亚

4 雅各布·伊莎贝拉

一直持续到达到 100 个男孩和女孩的名字。到目前为止,我编写的代码创建了两个新文本文件,但 boynames2014 不包含任何内容,而 girlsnames2014 只包含名字 Noah,前面有数字 1,如下所示:1Noah。

我认为我需要使用 readline()line.split()在某个地方,我只是不确定在哪里以及如何正确使用它们。我还需要使用 try/except block 来处理异常,以防找不到babynames2014.txt 文件。

    infile = open("babynames2014.txt", "r")    
outfile = open("boynames2014.txt", "w")
outfile = open("girlnames2014.txt", "w")


line = infile.readline()
datafield = line.split()
boyname2014 = datafield[0]
girlname2014 = datafield[1]
outfile.write(boyname2014)
outfile.write(girlname2014)


infile.close()
outfile.close()

我只学习了 2-3 个月的 Python,非常感谢任何帮助我学习更多的建议!

最佳答案

我注意到一件事在逻辑上不正确,即 boynames2014.txt 和 girlsnames2014.txt 的 outfile

你应该这样做。

infile = open("babynames2014.txt", "r")    
outfile_boys = open("boynames2014.txt", "w")
outfile_girls = open("girlnames2014.txt", "w")

然后,您必须读取内文件并按新行分割所需的数据,如下所示。

lines = infile.read().split("\n")

然后迭代下面的行并按空格分割(默认)。

for line in lines:
datafield = line.split()
boyname2014 = datafield[1]
girlname2014 = datafield[2]
outfile_boys.write(boyname2014 + '\n')
outfile_girls.write(girlname2014 + '\n')

我为数据字段选择了 1 和 2 索引,因为您的文件包含如下数据:

1 男孩名女孩名

按空格分割会将boy_name 传送到第一个索引,将girl_name 传送到第二个索引

然后照常关闭文件。

infile.close()
outfile_boys.close()
outfile_girls.close()

希望对你有帮助!

关于Python 读取和写入 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42849677/

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