gpt4 book ai didi

python - 在 Python 列表元素中迭代

转载 作者:行者123 更新时间:2023-11-28 17:17:53 24 4
gpt4 key购买 nike

我如何读入一个包含一行文本但我需要在每个元素中迭代的文件?需要在脚本内部访问文件,超出“with”语句的范围。

例如,file.txt 包含不带引号的单行“abcdefg”。如果我编写下面的代码,它不起作用,因为我相信我在列表中创建了一个元素(即 lines = ['abcdefg']:

file = 'file.txt'
with open(file) as file_object:
lines = file_object.readlines()
for letter in lines:
if letter == "a":
print(letter)

我假设这会在行内创建一个“abcdefg”元素,当然不会等于“a”。

我可以通过将列表转换为字符串来解决这个问题:

{snip}
text_file_string = ''.join(lines)
for letter in text_file_string:
if letter == "a":
print(letter)

这确实有效。我想我真正的问题是,有没有更好的方法来完成这个?使它成为一个列表然后成为一个字符串似乎是一种迂回的方法。我想我可以直接将它导入到一个字符串中,然后跳过将它全部列为一个列表。我只是想知道我是否可以将它作为一个列表来做?

最佳答案

您要查找的似乎是 .read(),而不是 .readlines().readlines 返回行数组。您希望将整个文件作为一个字符串,因此 .read()

file = 'file.txt'
with open(file) as file_object:
content = file_object.read()
for letter in content:
if letter == "a":
print(letter)

关于python - 在 Python 列表元素中迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43233428/

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