文件I/O操作

一、文件

    定义:操作系统提供给用户/应用程序操作硬件的一种虚拟的接口/概念

    如何使用文件(open):

t模式(默认的模式) :1.读写都是以字符串为单位   2.文本文件  3.必须指定encoding = 'utf-8'

      1.打开文件

        windows路径(绝对路径和相对路径)分隔符问题

        open('C:UsersWYCDesktopPYTHONTEXT01')

        解决方法一:open(r'C:UsersWYCDesktopPYTHONTEXT01',)

        解决方法二:open('C:/Users/WYC/Desktop/PYTHON/TEXT01')

       2.文件操作的基本流程

f=open(r'C:UsersWYCDesktopPYTHONTEXT01',mode='rt')  # 1.选择需要打开的文件,填写路径
res=f.read()  # 系统调用,打开文件,读取内容
print(res)  # 打印文件内容
f.close()  # 关闭文件
# del f  # 回收操作系统资源

      3.with 上下文文件管理

with open(r'C:UsersWYCDesktopPYTHONTEXT01',mode='rt',encoding='utf-8') as f: res = f.read() # t模式会将f.read()读出的结果解码成unicode print(res)

      4.模式r(只读文件)

inp_name=input('请输入你的账号:').strip()
inp_password=input('请输入你的密码:').strip()

with open('zhmm.txt',mode='rt',encoding='utf-8') as f:
    for line in f:  # 要循环txt文件的所有内容
        name,password=line.strip().split(':')  # 保证
不会重复
        if inp_name==name and inp_password==password:
            print('登入成功')
            break
    else:  # 与for对应
            print('请重新登入')

      5.模式w (只写文件,创建新的文件)

        只读模式在文件不存在时会创建文件,存在是会清空文件,指针停留在开头,

with open('zhmm.txt',mode='wt',encoding='utf-8') as f:
    f.read()  # 报错,不可读
    f.write('khadf
')  # 在文件里填写khadf,指针停留在末尾需要用
换行

# 重点:
#    1.在w模式下,文件打开没有关闭的情况下,连续写入,新写的内容总会跟在旧的后面
with open('zhmm.txt',mode='wt',encoding='utf-8') as f:
    f.write('khadf12
')  
    f.write('khadf435
')  
    f.write('khadf342523
')  

      6. 模式a(只追加写,在原有的文件之上添加新的内容)

with open('zhmm.txt',mode='at',encoding='utf-8') as f:
    f.read()  # 报错,不可读
    f.write('')  # 文件不存在时,会创建新的文件
# 重点:    1.在w模式下,文件打开没有关闭的情况下,连续写入,新写的内容总会跟在旧的后面
    #      2.以a文件重新打开文件时,不会清空源文件的内容,且指针停文件留在最后一行
    f.write('khadf12
')
    f.write('khadf435
')
    f.write('khadf342523
')

        

原文地址:https://www.cnblogs.com/Holmes-98/p/14232783.html