python进阶之路———文件处理

文件打开

python中打开文件需要使用open()函数

对象=open("文件地址","打开模式")

打开后就要有close()函数关闭

file=open("like.txt","w+")

file.close()

with open("like.txt","w+",encoding='utf-8') as file:


一般不用第一个,因为文件打开就要关闭,而在读或写的过程中随时可能会出错,所以python就引入了with语句来自动帮我们关闭

打开模式

"r"读取(默认)打开文件,文件不存在就会报错
"a"追加打开要追加(直接在后面接着写)的文件,文件不存在就创建
"w"写入打开文件进行写入,文件不存在就创建(w+可读可写,w可写)
"x"创建创建文件,文件存在就会报错
"t"文本(默认)文件以文本模式打开
"b"二进制

文件以二进制模式展开

文件写入

模式"a":追加写入的数据到文件末尾

模式"w":新写入的数据会覆盖已有的内容,注意是先覆盖后写入,就算没有数据输入也会把原有数据清空

file.write(str) :写入str到文件中,不会自动换行

file.writelines(list):把list的内容全部写到文件中,不会自动换行

with open("like.txt","w+",encoding='utf-8') as file:
    str="like"
    list=["like","age 18 ","boy","w+模式"]
    file.write(str)
    #写入str到文件中,不会自动换行
    file.writelines(list)
    #把list的内容全部写到文件中,不会自动换行
#w覆盖
with open("like.txt","w+",encoding='utf-8') as file:
    str="joke"
    list=["joke","age 20 ","boy","w+模式"]
    file.write(str)
    file.writelines(list)
#a追加
with open("like.txt","a",encoding='utf-8') as file:
    str="like"
    list=["like","age 18 ","boy","w+模式"]
    file.write(str)
    file.writelines(list)

 文件读取

file.read(size):size是字符大小,不写默认读取全部内容,会自动换行

file.readline():按一行读取,会换行

file.readlines():按多行读取,不会自动换行,每一行以列表的一个元素返回

file.tell():返回光标的位置(按字节返回,一个汉字三个字节,一个字母一个字节)

file.next():把光标移到下一行

file.seek(offset[,whence]):将文件光标移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。

file.truncate(size):把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

with open("E:\pythonProject\python笔记\读取\终末之诗.txt","r",encoding='utf-8') as file:
    print(file.read(4))
    print(file.tell())
    file.seek(0)
    print(file.readline())
    file.seek(0)
    list=file.readlines()
for l in list:
    print(l)

 

 文件删除

python里文件删除需要用到os库

在删除文件最好检查文件是否存在,不然会报错

os.remove(文件名或地址):删除文件

os.rmdir(文件名或地址):删除文件夹,此文件夹必须为空

os.listdir(文件名或地址):获取目录中存在的文件列表

shutil.rmtree(文件名或地址):删除目录及其所有内容。

其他

对于csv文件和excel文件的处理与其他文件有些许差别

#csv
csv.writer(file,dialect="excel")
#使用python的csv生成excel所兼容的csv文件
file.writerow()
#将一个列表全写入csv文件的同一行
file.writerows()
#将一个二维列表的每一个列表写入csv文件的一行

#excel
like=xlwt.Workbook(encoding="utf-8")
#创建一个一个工作簿/excel
row=sheet.row_values(number)
#获取整行或者整列的值
sheet.cell(1,0).value.encode('utf-8')
#获取单元格内容
sheet=like.add_sheet("student")
#添加sheet表
sheet.write(行,列,信息)
#写入数据
like.save("test.xls")
#保存
xlrd.open_workbook(r"test.xls")
#打开

 具体的excel操作以后会在详细总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LIKE呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值