其他分享
首页 > 其他分享> > 文件操作

文件操作

作者:互联网

#绝对路径:从磁盘根目录开始一直到文件名
#相对路径:读取同一个文件夹下的文件,./文件名 ../返回上一层

#文件的读
#1、相对路径打开
f=open('userinfo')
print(f.read())

f=open('./userinfo')
#2、绝对路径打开
#在路径前+r
#f=open(r'E:\python\show\PycharmProjects\day4\userinfo',encoding='utf-8')
# print(f.read())


#加\  取消转义后面的所有字符
# f=open('E:\python\show\PycharmProjects\day4\\userinfo')
# print(f.read())

 

#解决中文乱码问题,在后面加encoding='utf-8'
f=open('userinfo',encoding='utf-8')
# print(f.read()) #一次读取所有内容,文件有多大,都多少,占用多大内存

#f是一个文件句柄,所有和文件相关的操作都依赖f,也可以叫做文件操作符

# print(f.readline()) #一次读取一行,依次向下读,,读一行会换行,不知道哪里结束
# print(f.readline())
# print(f.readline())
# print(f.readline())

for line in f:
    line=line.strip() #去除换行
    print(line)

f.close()#关闭文件

文件的写

# #以写的方式打开一个存在的文件,相当于清空文件;
# f=open('userinfo',mode='w',encoding='utf-8')
# f.write('张三|777')
# f.close()

#以写的方式打开一个不存在的文件,相当于新建一个空文件
# f1=open('user.txt',mode='w',encoding='utf-8')
# f1.write('老王|123\n')
# f1.write('老张|456\n')
# f1.close()

文件的追加

# f2=open('user.txt',mode='a',encoding='utf-8')
# f2.write('老李|888')
# f2.close()

读取视频/图片,以字节的形式读取 rb
# f3=open('img.png',mode='rb')
# print(f3.read())     #一次性读完,不知道大小,内存容易爆

#视频/图片不能用for循环读取     没有行

#按字节的大小一点点读
# content=f3.read(1024)  #一次读1024字节
# print(content)
import os

#size=os.path.getsize(r'E:\python\show\PycharmProjects\day4\img.png')
# print(size)

# f3=open('img.png',mode='rb')
# while size>1024:
#     content=f3.read(1024)
#     print(content)
#     size-=1024
# else:
#     content=f3.read(size)
#     print(content)

复制图片
#size=os.path.getsize(r'E:\python\show\PycharmProjects\day4\img.png')
# print(size)

# f3=open('img.png',mode='rb')
# f4=open('img拷贝.png',mode='wb')
# while size>1024:
#     content=f3.read(1024)
#     f4.write(content)
#     size-=1024
# else:
#     content=f3.read(size)
#     f4.write(content)
# f3.close()
# f4.close()

 r+模式  读写,正常先读后写

# f=open('userinfo.txt',mode='r+',encoding='utf-8')
# f.write('小伙子')
# print(f.read())
# f.close()

# f3=open('userinfo',mode='r+',encoding='utf-8')
# print(f3.read())
#
# f2=open('user.txt',encoding='utf-8')
# print(f2.readline())

# #从光标位置读,第一行读不出来
# for i in f2:
#     print('-------')
#     print(i)

w+模式   写读

# f5=open('userinfo',encoding='utf-8',mode='w+')
# f5.write('果果爱吃棒棒糖')
# f5.seek(0)#移动光标到开头
# print(f5.read())
# f5.close()
文件的指针
f6=open('userinfo',encoding='utf-8')
print(f6.readline())
print(f6.tell())#查看指针的位置,\n算2个字节

#seek(n) 移动的单位是byte
#移动到开头  seek(0)
#移动到结尾 seek(0,2) seek第二个参数表示从哪个位置进行偏移,默认0,表示开头,1表示当前位置,2表示结尾

文件的修改

# f1=open('user.txt',encoding='utf-8')
# f2=open('b.txt',mode='w',encoding='utf-8')
# for line in f1:
#     username,password=line.split('|')
#     if username=='老李':
#         password='999\n'
#     f2.write('|'.join([username,password]))
# f1.close()
# f2.close()
# import os
# os.remove('user.txt')
# os.rename('b.txt','user.txt')

 

标签:文件,f3,utf,encoding,read,print,操作,open
来源: https://www.cnblogs.com/gm11/p/16414211.html