如何读取一行文本的文件并需要迭代每个元素?该文件需要在“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)
我假设这个代码在lines内部创建了一个"abcdefg"的单一元素,但显然与"a"不同。
我可以通过将列表转换为字符串来解决这个问题:
{snip}
text_file_string = ''.join(lines)
for letter in text_file_string:
if letter == "a":
print(letter)
这确实可行。我想我的真正问题是,有没有更好的方法来完成这个任务?似乎把它作为列表再转换成字符串是一个绕远路的方法。我想我可以直接将其导入到字符串中,跳过整个列表的步骤。只是想知道我是否可以将其作为列表来完成我想要的操作。
for
循环怎么样? - Willem Van Onsem