• python 文件处理


    一、读操作:只读模式r
    '''
    'a.txt'表示文件路径,‘r’表示读模式,不写默认为rt模式‘rtext’,
    f为变量,open('a.txt', 'r')表示在操作系统上打开的文件,python解释器的回收功能会回收f,
    但不能回收操作系统的文件,f.close()像操作系统发送关闭文件的指令,
    windows默认用gbk的格式打开文件,encoding='utf-8'告诉操作系统用utf-8的格式打开文件。
    '''
    f = open('a.txt', 'r', encoding='utf-8')
    data = f.read()
    print(data)
    f.close() # 文件关闭,回收操作系统资源
    print(f)
    # 因为此时程序还没有运行结束,所以print(f)还可以输出结果,
    # 输出结果:<_io.TextIOWrapper name='a.txt' mode='r' encoding='utf-8'>
    data1 = f.read()
    print(data1)
    '''
    此时操作系统已关闭该文件,data1 = f.read()执行时会报错
    data1 = f.read() 输出结果:
    Traceback (most recent call last):
    File "C:/Users/admin/PycharmProjects/pythonss/Day10/文件处理.py", line 8, in <module>
    data1 = f.read()
    ValueError: I/O operation on closed file.
    '''

    **************************分隔符***********************************

    with open('a.txt', 'r', encoding='utf-8') as f1:
    # 打开文件,并将文件的值赋值给f,最后会自动执行f.close()
    data2 = f1.read()
    print('data2:', data2)
    '''
    输出结果:
    data2: aaa
    bbb
    hahah
    哈哈哈
    娃娃啊
    '''
    **************************分隔符***********************************

    f = open('a.txt', 'r', encoding='utf-8')
    data3 = f.read()
    print('=====3=====', data3)
    '''
    输出结果:
    =====3===== aaa
    bbb
    hahah
    哈哈哈
    娃娃啊
    '''
    data4 = f.read()
    print('=====4=====', data4)
    '''
    输出结果:=====4===== ,
    因为第一次读文件时,光标已经从文件的开头移动到文件的结尾,所以再次读文件时,读取结果为空
    '''
    **************************分隔符***********************************

    f2 = open('a.txt', 'r', encoding='utf-8')
    print(f2.readline()) # 输出结果:aaa
    print(f2.readline(), end='') # 取消换行符
    print(f2.readlines())
    # 输出结果:['hahah ', '哈哈哈 ', '娃娃啊'],
    # read和readlinse一次性将文件读取到内存,所以仅限于文件很小的情况下使用。
    **************************分隔符***********************************

    二、写操作w: 只写模式,默认是wt文本写

    f2 = open('b.txt', 'w', encoding='utf-8')
    '''
    文件没有时,w格式会新建一个文件;
    文件存在时,w格式会重写已有的文件,将已有文件覆盖
    '''
    f2.write('1111 ') # 一行一行的编写文件
    f2.write('2222 ')
    f2.write('3333 ')
    f2.writelines(['aaa ', 'bbb ', 'ccc ']) # 直接编写整个文件
    f.close()




  • 相关阅读:
    CodeForces979D:Kuro and GCD and XOR and SUM(Trie树&指针&Xor)
    HDU4188:RealPhobia (连分数的运用之一)
    从HDU2588:GCD 到 HDU5514:Frogs (欧拉公式)
    SPOJ:Eagle and Dogs(求树上每个点最远可以走到哪里---树的直径||DP)
    【字符串】BZOJ上面几个AC自动机求最为字串出现次数的题目
    codeforces round #405 B. Bear and Friendship Condition
    codeforces round #419 C. Karen and Game
    codeforces round #419 B. Karen and Coffee
    codeforces round #419 A. Karen and Morning
    【ZOJ 3609】Modular Inverse 最小乘法逆元
  • 原文地址:https://www.cnblogs.com/keqing1108/p/13385484.html
Copyright © 2020-2023  润新知