python读取文件

1.数据准备

在python中读取文件有很多种方法,常用的方法就是使用python自带的open(),然后read()或者readline(),或者readlines(),下面就来看看这三个的区别.

亚索,劫,阿卡丽,妖姬
提莫,金克斯,女警,EZ,女枪,寒冰
武器,盖伦,诺手,菊花信
维嘉,拉克丝

2.read()方法

read()方法是读取整个文件,将整个文件的内容放在一个字符串变量中.
这个方法的缺点就是当文件过大尤其是大于内存时,方法就失效了.

with open("1.txt", "r", encoding='UTF-8')as f:
    res = f.read()
    print(res)

执行效果为

亚索,劫,阿卡丽,妖姬
提莫,金克斯,女警,EZ,女枪,寒冰
武器,盖伦,诺手,菊花信
维嘉,拉克丝

3.readline()方法

readline()方法是每次只读取一行,并将读取的内容放在一个字符串变量中,缺点是这种方法比较慢.

with open("1.txt", "r", encoding='UTF-8')as f:
    res = f.readline()
    print(res)

执行的效果为

亚索,劫,阿卡丽,妖姬

从结果中就可以看出,每次只读了一行出来,要想获取全部的内容,就需要自己手动循环了:

with open("1.txt", "r", encoding='UTF-8')as f:
    while True:
        line = f.readline()
        if line:
            print(type(line), line)
        else:
            break

执行的效果为

<class 'str'> 亚索,劫,阿卡丽,妖姬

<class 'str'> 提莫,金克斯,女警,EZ,女枪,寒冰

<class 'str'> 武器,盖伦,诺手,菊花信

<class 'str'> 维嘉,拉克丝

4.readlines()方法

readlines()方法一次性读取整个文件,并自动将内容分析成一个行的列表:

with open("1.txt", "r", encoding='UTF-8')as f:
    res = f.readlines()
    print(res)

执行的效果为

['亚索,劫,阿卡丽,妖姬\n', '提莫,金克斯,女警,EZ,女枪,寒冰\n', '武器,盖伦,诺手,菊花信\n', '维嘉,拉克丝']

去掉\n以及分割

with open("1.txt", "r", encoding='UTF-8')as f:
    res = f.read()
    print(res)
    list = res.replace('\n', ',').split(',')

    print(list)

更多推荐

python打开读取文件内容