• Python自学之乐-文件操作


    Python的文件操作也看了不少资料,看是看懂了,但是没多久就会忘,所以还是要自己多实践,多理解,写个笔记加强下理解。

    这里就以Python 3为例了,文件的操作直接使用with,比较简洁

    1、读

    现有文件1.txt,内容如下:

    这是在测试文件的读操作
    test read file
    abcde
    12345

    代码如下:
    with open("1.txt","r",encoding="utf-8") as f:

      print(f.read(10000),type(f.read()))

    结果将文件的内容都读取出来了
    如果这样写
    with open("1.txt","r",encoding="utf-8") as f:
    print(f.read(2))
    出来的结果就是“这是”两个字符
    如果写成
    with open("1.txt","r",encoding="utf-8") as f:
    print(f.read(2))
    print(f.read(2))
    出来的结果就是 “这是”
            “在测”

    总结:1、read(size)方法是从文件的起始位置开始读取,读到哪,光标就在哪,如果再次读取,就从当前位置继续读取指定的字符;
    2、不加size参数,默认读取整个文件;
    3、read方法返回的类型是str

    再来看看readline(size)方法:
    with open("1.txt","r",encoding="utf-8") as f:
    print(f.readline(),type(f.readline()))
    结果:

    这是在测试文件的读操作
    <class 'str'>

    继续

    with open("1.txt","r",encoding="utf-8") as f:
    print(f.readline(2))
    print(f.readline(2))
    print(f.readline(100))
    结果:

    这是
    在测
    试文件的读操作

    再来

    with open("1.txt","r",encoding="utf-8") as f:
    print(f.readline(100))
    print(f.readline(100))
    print(f.readline(100))
    结果:

    这是在测试文件的读操作

    test read file

    abcde

    总结:1、readline(size)方法是读取一行内容,不加size参数,默认是读取一行,如果你想读第二行,可以再写一个同样的不带参数的方法;

    2、该方法返回的类型是str;

    3、加size参数,是按照size的字节数来读取一行,如果size小于该行的长度,则只读取size字节的字符;如果size大于该行长度,那就整行读取,但是不会读取到下一行;而且一行没有读取完,你写多个同样的方法,都还是一直在读取这一行内容

    继续readlines(size)方法:

    with open("1.txt","r",encoding="utf-8") as f:
    print(f.readlines(),type(f.readlines()))
    结果是:
    ['这是在测试文件的读操作 ', 'test read file ', 'abcde ', '12345'] <class 'list'>
    with open("1.txt","r",encoding="utf-8") as f:
    print(f.readlines(2))
    结果是:
    ['这是在测试文件的读操作 ']
    with open("1.txt","r",encoding="utf-8") as f:
    print(f.readlines(2))
    print(f.readlines(2))
    结果是:

    ['这是在测试文件的读操作 ']
    ['test read file ']

    with open("1.txt","r",encoding="utf-8") as f:
    print(f.readlines(11))
    with open("1.txt","r",encoding="utf-8") as f:
    print(f.readlines(12))
    两个结果分别是:
    ['这是在测试文件的读操作 ']
    ['这是在测试文件的读操作 ', 'test read file ']
    总结:1、readlines(size)方法是读取整个文件内容,不加size参数,就是整个文件都读取;加了size参数,如果size小于第一行的长度,那就只读取第一行内容,如果size大于或等于(包括换行符)第一行内容,则读取第二行内容
    2、该方法返回的类型是list,每行的内容是列表中的一个元素,加上换行符



  • 相关阅读:
    POJ 3279 Fliptile 枚举+搜索
    POJ 3278 Catch That Cow
    CS Academy Round41 BFS+DFS
    CS Academy Round41 Tennis Tournament
    CS Academy Round41 Cinema Seats
    POJ 1177 Picture
    HDU 1255 覆盖的面积
    POJ 1151 Atlantis 线段树+离散化
    HDU 4614 Vases and Flowers 线段树+二分
    凑数问题
  • 原文地址:https://www.cnblogs.com/clarkxhb/p/7309723.html
Copyright © 2020-2023  润新知