python文件操作

文件打开,关闭操作 

#用于练习文件的打开关闭操作

#打开文件必须异常处理
try:
    #文件打开 open()方法
    file = open("itertor.py")
    print("文件已成功打开")

    #文件读写内容

    #文件关闭,close()方法
    file.close()
    print("文件已成功关闭")
except IOError:   #如果文件不存在等原因造成打开失败,会抛出IO错误
    print("文件打开失败")

文件操作练习:

#用于练习文件的打开关闭操作
#读取一个通讯录文件,文件内容如下:
# tonywang  10000000000
# wangcc  111102733532
# suhh    17777777777
# fuyl    12722222222

#定义read_file函数用于读取联系方式
def read_file():
    L = []
    try:
        #文件打开 open()方法,以read_only, text方式
        file = open("itertor.py","rt")
        print("文件已成功打开")

        #文件读写内容
        while True:
            s = file.readline()
            if not s:
                #如果文件读取完毕,则return退出
                file.close()
                return L
            idx = s.index(' ')
            name, num = s[:idx], s[idx+1:]
            #去除空格和换行符
            num = num.strip()
            L.append((name,num))

    except IOError:   #如果文件不存在等原因造成打开失败
        print("文件打开失败")

#定义print函数用于输出
def print_file(L_contact):
    for name,num in L_contact:
        #格式化输出contact和number
        print("name:{:<30}   num:{:<20}".format(name,num))

print_file(read_file())

mode 模式字符的含义

字符含义
'r'以只读方式打开(默认)
'w'以只写方式打开,删除原有文件内容(如果文件不存在,则创建该文件并以只写方式打开)
'x'创建一个新文件, 并以写模式打开这个文件,如果文件存在则会产生"FileExistsError"错误
'a'以只写文件打开一个文件,如果有原文件则追加到文件末尾
'b'用二进制模式打开
't'文本文件模式打开 (默认)
'+'为更新内容打开一个磁盘文件 (可读可写)

python 文件常用方法:

方法说明
F.close()关闭文件(关闭后文件不能再读写会发生ValueError错误)
F.readline()读取一行数据, 如果到达文件尾则返回空行
F.readlines(max_chars=-1)返回每行字符串的列表,max_chars为最大字符(或字节)数
F.writelines(lines)每行字符串的列表
F.flush()把写入文件对象的缓存内容写入到磁盘
F.read(size = -1)从一个文件流中最多读取size个字符
F.write(text)写一个字符串到文件流中,返回写入的字符数
二进制文件操作方法 
F.tell()返回当前文件流的绝对位置
F.seek(offset, whence=0)改变数据流的位置,返回新的绝对位置
F.readable()判断这个文件是否可读,可读返回True,否则返回False
F.writable()判断这个文件是否可写,可写返回True,否则返回False
F.seekable()返回这个文件对象是否支持随机定位
F.truncate(pos = None)剪掉 自pos位置之后的数据,返回新的文件长度(字节为单位)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值