我一直在尝试在 Python 中进行一些文本操作,但遇到了很多问题,主要是由于对 Python 中文件操作的工作原理存在根本性的误解,所以我希望能够澄清这一点。
因此,假设我正在遍历一个名为“my.txt”的文本文件,它具有以下内容:
3 10 7 8
2 9 8 3
4 1 4 2
我用来遍历文件的代码是:
file = open ("my.txt", 'r')
for line in file:
print line`
我从教程中复制并粘贴了上面的代码。我知道它做了什么,但我不知道它为什么会起作用,这让我很困扰。我试图准确理解变量“line”在文件中代表什么。它是数据类型(字符串?)还是其他东西。我的直觉告诉我,每一行都代表一个字符串,然后可以对其进行操作(这是我想要的),但我也明白字符串在 Python 中是不可变的。
内存在这一切中扮演什么角色,如果我的文件太大而无法放入内存,它还能工作吗?line[3] 是否允许我访问每行中的第四个元素?如果我只想在第二行工作,我可以这样做:
if line == 2:
在for循环内?
值得注意的是,我对 Python 很陌生,并且来自 C\C++ 背景(不习惯于不可变字符串)。我知道我将很多问题挤成一个问题,但是对一般主题的任何澄清都会很有帮助:)