python基础之文件读写

python基础之文件读写

文件读写

注意:需要手动创建几个*.txt

file1=open('d:\\note1.txt') #可以多加一个\让\n的特殊含义不生效
file1=open('d:/note1.txt') #用/替换\,效果一样
file1=open(r'd:\note1.txt') #前方加一个r,让后方的转义符都不生效
file1=open('d:/json3.txt','r') #r读取模式,w写入模式(清空之前的内容),a追加写入模式,如果不写第二个参数,则缺省值为读取模式
print(file1.read())
file1.close()
file1=open('d:/20201003.txt','w')
file1.write('今天天气不错哦!')
file1.close()
file1=open('d:/20201003_1.txt','a')
file1.write('挺风和日丽的!')
# file1.read()#r,w,a要么只能读,要么只能写,不能同时进行读取和写入
file1.close()
#当需要同时进行读取和写入时,可以使用r+,w+,a+
#r+遇到不存在的路径会报错
file1=open('d:/20201003_2.txt','w+')
file1.write('出去玩可好!')
file1.seek(0) #光标回到文件开头的位置
print(file1.read()) #如果上一行的seek(0)不写,则读取不到内容,因为写入内容之后光标位于内容的后方
file1.close()
#seek(m,n)函数,m表示光标向后偏移几位,m为0时表示位于文件开头.
#n默认为0,不需要写,也可以写1,或者2,当写1,或者2时,只有在rb模式下才生效(二进制模式)
#seek(6,0)这种表示从文件开头,向右偏移6位
#seek(2,1)表示从光标的当前位置,向右偏移2位
#seek(-1,2)表示从文件末尾,向左偏移1位
file1=open('d:/20201003.txt','rb')
file1.seek(-3,2)
#file1.seek(2,1)
print(file1.read())
file1.close()
#r+,w+,a+都支持同时读取和写入,但是有一定的区别
#r+ 当文件不存在时,报错,写入时,覆盖之前的内容
#w+ 当文件不存在时,新建文件,写入时,清空之前的内容
#a+ 当文件不存在时,新建文件,写入时,接着以前的内容往后写
file1=open('d:/20201003_4.txt','r+')
file1.write('GHJKL')
file1.close()
#with open方法,和open方法用法基本一致,不过不需要写close方法,另外要注意缩进
with open ('d:/20201003_5.txt','w+') as file1:
    file1.write('去哪玩好呢!')
    file1.seek(0)
    print(file1.read())
#with open也可以同时打开多个文件
with open('d:/20201003.txt')as file1,open('d:/20201003_1.txt') as file2,open('d:/20201003_4.txt') as file3:
    print("file1:",file1.read())
    print("file2:",file2.read())
    print("file3:",file3.read())
with open('d:/20201003_6.txt','rb') as file1:
    # print(file1.read()) #read打开文件的所有内容
    # print(file1.readline()) #读取一行内容,可以加一个参数n,表示读取几个字符
    a=file1.readlines()#读取整个文件,返回值是一个列表,每个元素是一行
    print(a)
    for one in a:
        print(one.decode('utf8'))

打印结果演示


出去玩可好!
b'\xb6\xa3\xa1'
去哪玩好呢!
file1: 今天天气不错哦!
file2: 挺风和日丽的!
file3: GHJKL
[b'\xe6\xa1\x83\xe5\xad\x90\xe7\x8c\xab\xe7\x9a\x84\xe5\xb8\x83\xe5\x81\xb6\xe5\x86\x99\xe4\xba\x86\xe7\x82\xb9\xe4\xb8\x9c\xe8\xa5\xbf\xe7\x94\xa8\xe4\xba\x8e\xe6\x89\x93\xe5\x8d\xb0\xe6\xbc\x94\xe7\xa4\xba']
桃子猫的布偶写了点东西用于打印演示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值