python文件读写

一:文件打开模式以及方法

文件打开模式描述
r以只读模式打开文件,并将文件指针指向文件头;如果文件不存在会报错
w以只写模式打开文件,并将文件指针指向文件头;如果文件存在则将其内容清空,如果文件不存在则创建
a以只追加可写模式打开文件,并将文件指针指向文件尾部;如果文件不存在则创建
r+在r的基础上增加了可写功能
w+在w的基础上增加了可读功能
a+在a的基础上增加了可读功能
b读写二进制文件(默认是t,表示文本),需要与上面几种模式搭配使用,如ab,wb, ab, ab+(POSIX系统,包括Linux都会忽略该字符)
方法描述
read()一次读取文件所有内容,返回一个str
read(size)每次最多读取指定长度的内容,返回一个str;在Python2中size指定的是字节长度,在Python3中size指定的是字符长度
readlines()一次读取文件所有内容,按行返回一个list
readline()每次只读取一行内容

二:读操作 

def openD(dir, sp="\t"):
    #triple = (head, tail, relation)
    num = 0
    list = []
    with open(dir) as file: #'r', encoding='utf-8'都可以是open里的参数
        lines = file.readlines()
        for line in lines:
            triple = line.strip().split(sp)
            if(len(triple)<3):
                continue
            list.append(tuple(triple))
            num += 1
    print(num)
    return num, list

另一种读的方式! 

# 第一步:(以只读模式)打开文件
f = open('song.txt', 'r')
 
# 第二步:读取文件内容
print(f.read().decode('utf-8'))
 
# 第三步:关闭文件
f.close()

三: 写操作

def writeTemTrip(list):
    print("写入正确的三元组")
    tripleFile = open("F:\\BYSJ\\data\\testWrite.txt", 'w')
    for trip in list:
        s = str(trip)
        s = s.replace("'","")
        s = s.replace("(","")
        s = s.replace(")","")
        print(s)
        tripleFile.write(s + "\n")
    tripleFile.close()

另一种 方式!!

# 写操作
with open('song2.txt', 'w') as f:
    # f.write(u'你好'.encode('utf-8'))
    # f.write('你好'.decode('utf-8').encode('utf-8'))
    f.write('你好')

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值