博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中文件的读和写操作
阅读量:6619 次
发布时间:2019-06-25

本文共 1590 字,大约阅读时间需要 5 分钟。

一、打开文件

data = open("yesterday",encoding="utf-8").read()# python默认的打字符编码是unicode,处理不了gbk,但是utf—8可以print(data)

ps:这边的yesterday文件是一首英文歌的歌词

在打开的时候,一定要转码,否则会乱码:encoding="utf-8"

在这里插入图片描述
二、读取前几行
会用到read( )和readline( )方法

f = open("yesterday",encoding="utf-8")  # 文件句柄,方法和1类似# data = f.read()   # 光标在最后面# print(data)# f.readline()   # 读取一行,只适合读小文件for i in range(5):    print(f.readline())    # 循环之后读取四行

在这里插入图片描述

三、读取前几行(优化版)
用到了迭代器,所以不会像二一样占用太大的内存,最后只会占用一行的内存

f = open("yesterday",encoding="utf-8")# 实现前九行的输入,并且在第九行输入分割线count = 0for line in f:    if count == 9:        print("--------分割线-------")        count += 1        continue    print(line)    # 迭代器!效率最高的循环方式,比2效率高是因为读完一行就删一行    count +=1

在这里插入图片描述

四、关于文件的方法
python不是直接调用所有文件,而是调用操作系统的接口I/O,通过接口来调用文件

# 1.tell()方法:光标的位置f = open("yesterday",encoding="utf-8")print("1:",f.tell())    # 把指针的位置表示出来,0print("2:",f.readline())print("3:",f.tell())    # 读完一行字符之后光标的位置print("4:",f.readline(3))print("5:",f.tell())    # 读完三行字符之后光标的位置#2.seek()方法: 光标回到第几行f.seek(0)print("6:",f.tell())   # 光标重新回到了开始# 3.encoding  # 打印文件的编码类型print("7:",f.encoding)# 4.fileno()  可用于底层操作系统的 I/O接口操作。print("8:",f.fileno())# 5.flush()print(f.flush())  # 实时刷新文件内容

在这里插入图片描述

其实在学习python基础的时候,pycharm的联想功能非常重要!

小福利:

打开文件的模式有:

r,只读模式(默认)。

w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】

“+” 表示可以同时读写某个文件

r+,可读写文件。【可读;可写;可追加】
w+,写读
a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

rU
r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)一般是在跨平台的时候需要处理二进制文件,比如Windows到linux;视频文件也需要处理二进制文件

rb —读,以二进制模式打开,此时不需要即encoding,

wb—写,此时需要加入encoding
在这里插入图片描述
ab

转载于:https://www.cnblogs.com/souhaite/p/10585612.html

你可能感兴趣的文章
gradle是否可以编译c语言,使用CPP插件在gradle中编译C++代码
查看>>
c语言程实训报告,C语言程设计工程实训报告.doc
查看>>
C语言高斯消元课程设计报告,c高斯消元法解方程-课程设计报告.doc
查看>>
三坐标DMIS语言是C语言吗,三坐标测量软件PC-DMIS常见技巧
查看>>
空间域图像增强c语言,OpenCV 图像增强(空间域)
查看>>
android 窗口分割线,android RecyclerView 万能分隔线
查看>>
电脑android模拟器下载地址,仙域奇缘电脑版怎么下载 安卓模拟器电脑版下载地址...
查看>>
Android WebView 总结,android webview总结
查看>>
android mac 照片恢复,相片恢复?误删的手机照片简单的找回方法来了!
查看>>
html中的text标签怎么设置自动换行,innerHTML中标签可以换行的方法汇总
查看>>
html5性能在线测试,HTML5性能测试
查看>>
美团Android三面,美团面经后端一面挂,安卓三面(实习)
查看>>
android环境搭建注意事项,android studio教程及android环境搭建
查看>>
html很炫的按钮效果图,6种非常炫酷的CSS3按钮边框动画特效
查看>>
gitbook生成html文档,在线帮助文档编辑器gitbook
查看>>
grunt html模块化管理插件,js模块化开发—Gruntfile.js详解
查看>>
chrome html 播放avi,how to embed an .AVI in html?
查看>>
Linux系统中三类重要文件的作用与区别
查看>>
【人生感悟】此一时也,彼一时
查看>>
关于对象和对象引用的关系
查看>>