python文件读写操作

文件的作用:就是把一些内容存储起来,下次直接使用

       打开、关闭、读、写、操作、复制

文件的分类:

        文本文件:基于字符串编码的文件,常见的编码有ASCll编码,UNICODE编码等等

        二进制文件:基于值编码的文件,自定义编码
文件的基本操作

        1.打开

       2. 读、写

       3. 关闭

在python,使用open()函数,可以打开一个已经存在的文件,或者创建一个新文件

f=open(name,mode)  name是要打开目标文件名的字符串    model是设置打开文件的访问模式

f是open函数的对象

# f=open('ziyi.text')   #相对路径
f=open(r'C:\Users\Administrator\PycharmProjects\untitled\单继承.py') #绝对路径
print(f)
#打印文件对象
# f.closed:如果返回true文件已经被关闭,否则返回false
# f.mode:返回被打开文件的访问模式
# f.name:返回文件的名称
print(f.closed) #如果返回true文件已经被关闭,否则返回false
print(f.mode) #打印打开文件的访问模式
print(f.name) #打印文件名称

# 文件对象.read() 读取
# print(f.read()) #不写从参数就是获取所有的字节
# print(f.read(3)) #写了就要按写的字节来读取

# 文件对象.close() 关闭
f.close()
print(f.closed)

# 文件对象.write() 写
# 访问模式对写入的影响
# r:如果文件存在就会报错,不支持写入的操作,表示只读   r+可以读写 rb打开二进制 rb+打开二进制还可以读写
f=open('ziyi.text','r')
print(f.read())
print(f.readline())  #每次读取一行
print(f.readlines())  #一次吧所有都读取出来,打印出来是个列表
# f.write('hello') #不能写
f.close()
#w:写入,如果文件存在就对文件进行写的操作,写的时候会覆盖已有的内容 w+可以读写
f=open('ziyi.text','w')
f.write('hello') #会覆盖
# print(f.read()) #不能读
f.close()

#a:追加,文件不存在就会新建,文件存在就会在原有的内容新增新的内容
f=open('ziyi.text','a')
f.write('hello') #会覆盖
# print(f.read()) #不能读
f.close()
# b 二进制模式(可以和其他的模式组合)
# + 读写模式(可以和其他的模式组合)


# seek()作用:用来移动文件指针
# # 文件对象.seek(偏移量,起始位置)
# # 0:文件开头 1.当前位置  2.文件结尾
f=open('ziyi.text','a+')
f.seek(0,0) #把指针移动到文件开头
print(f.read())
f.close()

f=open('ziyi.text','r')
try:
    f.write('233')  # 报错
finally:
    f.close()  # 关闭这个代码不管怎么都会执行
    
# with表达式 不需要写f.close() 因为表达式自带这个功能
# 读取中文遇到错误:1.忽略 errors='ignore'2.设置编码encoding='utf-8'
with open('ziyi.text','r',errors='ignore' ,encoding='utf-8') as f:
    f.write('23')

    3.目录常用操作

        OS模块是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作

import os

# rename(src,dst):重命名文件的目录
# os.rename('原名','新名')
# os.rename('ziyi.text','text.text')


# os.remove(path):删除路径为path的文件
# os.remove('text01.txt')

# os.mkdir(path):创建一个名为path的文件
# os.mkdir('ziyi')

# .getcwd():返回当前工作目录
print(os.getcwd())

# listdir():返回path指定文件包含的文件或文件夹的名字的列表
print(os.listdir()) #返回当前目录的所有文件名字
print(os.listdir('../')) #返回上一级目录

# rmdir():删除path指定的空目录
os.rmdir('新建文件夹')

4、应用


# 在桌面新建一个文件夹 ,并把桌面的图片复制一份到新的文件夹中去   
# 1、在桌面新建一个文件夹
import os
desk='\\Users\\Administrator\\Desktop\\' #桌面路径
os.mkdir(desk+'新建文件夹')
# 2、读取桌面的图片 图片是二进制文件,想要写入二进制文件就要先拿到
with open(desk+'php.png','rb') as f:
    img=f.read()
# 3、写入图片到桌面的新建文件夹中
with open(desk+'新建文件夹\\php.png','wb')  as f:
    f.write(img)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值