Python:文件操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sRuEumvb-1596363477388)(F:\JianShu_material\Python\图片\文件和异常\文件操作.png)]

1. 打开关闭文件

1.1 打开文件

你必须先用Python内置的open()函数打开一个文件,调用相关的方法才可以对它进行读写。

# file_name:file_name变量是一个包含了你要访问的文件名称的字符串值
# access_mode:access_mode决定了打开文件的模式:只读,写入,追加等,这个参数是非强制的,默认文件访问模式为只读(r)
# buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。
steam = open(file_name, access_mode, buffering)

access_mode包含以下几种模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y7uhPN7x-1596363477389)(F:\JianShu_material\Python\图片\文件和异常\001.png)]

1.2 关闭文件

使用close()

close()方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError错误。

close() 方法允许调用多次。当 file 对象,被引用到操作另外一个文件时,Python会自动关闭之前的file对象。

steam = open(file_name, access_mode, buffering)
...
steam.close()

使用with-as

使用with-as打开文件时,可以不用写close(),系统会自动关闭文件

# 相当于:rsteam = open('aa.txt','rb')
with open('aa.txt','rb') as rsteam:
    container = rsteam.read()

    with open("tt.txt",'wb') as wsteam:
        wsteam.write(container)

2. 读取文件

2.1 读取文件方法:r

  1. read([size]): 从文件读取指定的字节数,如果未给定或为负则读取所有。
  2. readline([size]): 读取整行,包括 “\n” 字符。
  3. readlines([sizeint]): 读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节。
  4. readable(): 判断文件是否可读。
steam = open("aa.txt")

result1 = steam.read()
result2 = steam.readable()
# 使用readlines()时要注意:若前面已经使用了read(),则读取返回值为空
result3 = steam.readline()
# 返回的result4是个列表
result4 = steam.readlines()

print(result1)
print(result2)
print(result3)
print(result4)

3. 文件的写入

3.1 写入文件方法一:w

  1. write(str): 将字符串写入文件,每次写入都会将原来内容清空,然后写入当前内容。
  2. writelines(sequence): 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
  3. writeable(): 判断文件是否可写。
steam = open("aa.txt",'w')

str = """
你好!
    我是Python"""

list1 = ["123",'3','56','1']
result1 = steam.write(str)
result2 = steam.writelines(list1)
result3 = steam.writable()

print(result1) #17
print(result2) #None
print(result3) #True

3.2 写入文件方法二:a

使用’a’模式进行写入时,可以从原文件的内容之上追加新的内容

同样可以使用write()、writelines()、writeable()函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值