Python读写数据文件

如何使用Python标准的方法,读写指定的数据文件。
而且还需要调试下述readfile函数,调用该函数读取文件内容,注意观察line.strip()和不调用strip()方法导致的不同效果

img

Python 提供了多种读写文件的方法,最常用的是使用内置函数 open() 打开文件,在读写完成后使用 close() 关闭文件。

下面是一个简单的例子,演示如何使用 Python 标准的方法读写指定的数据文件:

# 读取文件
with open('data.txt', 'r') as f:
    for line in f:
        print(line.strip())

# 写入文件
with open('output.txt', 'w') as f:
    f.write('Hello, world!')

在上面的代码中,open() 函数的第一个参数是要打开的文件名,第二个参数是打开文件的模式。其中,'r' 表示只读模式(默认),'w' 表示写入模式,如果文件不存在则创建文件并写入数据,如果文件已存在则清空文件内容并写入数据。

读取文件的方式很简单,只需要使用 for 循环逐行读取文件内容即可。

写入文件的方式也很简单,只需要使用 write() 函数向文件中写入数据。需要注意的是,通过 write() 函数写入的数据会覆盖文件原有的内容,所以需要谨慎操作。

最后,为了避免忘记关闭文件,可以使用 with 上下文管理器来自动关闭文件。

至于你下面那个方法,不知道你想了解哪方面的问题,根据你的代码逻辑,文件的第一行是标题,后面是正文,逐行读取正文,然后输出每行正文去除空格和换行之后的内容,并且切割为列表的形式进行输出。
至于区别,那就是,如果用了line.strip(),那输出的列表中可能就没有空格和换行一类的东西,如果没用line.strip(),那输出的可能就会多出来这些东西。
不知道是否解答了你的疑惑。

  您除了最后一行,每行都正确标题了注释。最后一行是用字符串方法 str.split(', ') 把用' , '分隔的一行数据拆分成列表。如果不写参数,缺省是英文状态空格(半角空格),同 str.split(' '),拆分以空格分隔的数据。


你可以使用Python内置的open()函数来读写指定的数据文件。open()函数有两个参数,第一个参数是文件名,第二个参数是打开文件的模式。例如,如果要读取一个名为data.txt的文件,可以使用以下代码:

with open('data.txt', 'r') as f:
    data = f.read()

这将打开文件并将其内容读入到变量data中。如果要写入文件,可以使用打开文件的模式w,例如:

with open('output.txt', 'w') as f:
    f.write('Hello, world!')

这将创建一个新文件output.txt并将字符串Hello, world!写入文件中。如果文件已经存在,则会将其覆盖。

关于readfile函数的调试,可以尝试以下代码:

def readfile(filename):
    with open(filename, 'r') as f:
        lines = f.readlines()
    for line in lines:
        print(line.strip())

这个函数使用readlines()方法读取文件的所有行,并使用strip()方法去除行尾的换行符。然后在循环中打印每一行,这样就可以看到每一行的内容是否正确。