一、打开文件

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 = 0
for 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()) # 把指针的位置表示出来,0
print("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

python中文件的读和写操作的更多相关文章

  1. python3中文件的读与写

    Python open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出错误 完整语法:open(file, mode='r', buf ...

  2. python学习------文件的读与写

    f=open("yesterday","r",encoding="utf-8") #文件句柄 data=f.read() data2=f.r ...

  3. Python之文件的读

    python中文件的读操作:以只读的形式打开文件->逐行读取文件中的内容->关闭文件 代码如下 #文件的读 f = file(u'F:\\python\\homework.txt', 'r ...

  4. python文件处理-读、写

    Python中文件处理的操作包括读.写.修改,今天我们一起来先学习下读和写操作. 一.文件的读操作 例一: #文件读操作 f = open(file="first_blog.txt" ...

  5. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  6. 浅谈python中文件和文件夹的相关操作

    文件操作 文件的打开与关闭 打开文件 使用open(文件名,访问方式)函数,可以打开一个已存在的文件,或者创建一个新的文件. 示例如下: f = open('test.txt') # 访问方式可以省略 ...

  7. Python中基本的读文件和简单数据处理

    Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六 ...

  8. 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(4)-Excel文件读、写操作

    Excel文件读.写可以使用Office自带的库(Microsoft.Office.Interop.Excel),前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题.还 ...

  9. python 中文件输入输出及os模块对文件系统的操作

    整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...

随机推荐

  1. netty支持的各种socketchannel实现及比较

    性能上从低到高如下: OioSocketChannel:传统,阻塞式编程. NioSocketChannel:select/poll或者epoll,jdk 7之后linux下会自动选择epoll. E ...

  2. 20145319 《网络渗透》免考—API拦截技术

    20145319 <网络渗透>免考-API拦截技术 概述 本次实验在window环境下进行,主要通过编写hook代码和注入程序,将我们的hook代码通过dll文件的形式注入到目标中,拦截其 ...

  3. Ubuntu + CUDA9 + CUDNN7 + OpenCV3.4 + contrib +CAFFE-master

    安装ubuntu时赞美Rufus(建议ubuntu16.04.04),过程参考 https://www.cnblogs.com/willnote/p/6725594.html 安 装 前 一 定 要 ...

  4. Install Apache Maven on Ubuntu

    Download the Apache maven from this link https://maven.apache.org/download.cgi, extract the download ...

  5. 关于二进制——lowbit运算

    lowbit(n)意思即为找出n在二进制表示下最后一位1即其后面的0所组成的数值,别的东西算法书上有,这里提出一个重要的公式 lowbit(n)=n&(~n+1)=n&(-n),这个有 ...

  6. SpringBoot 使用validation数据校验

    后端对数据进行验证 添加包 hibernate-validator <!-- https://mvnrepository.com/artifact/org.hibernate.validator ...

  7. maven下载jar包下载不下来的解决方法

    转载请注明出处: 在eclipse中安装了maven插件,项目在运行的时候,一直通过pom.xml文件下载jar包,一直下载不下来, 在更新maven库时,如果网络问不定或者是一些自己手动安装到本地m ...

  8. 所有JTAG集成电路都应该支持菊花链

    菊花链 在电气和电子工程中,菊花链是一种布线方案,其中多个设备按顺序或环形连接在一起.相邻设备才能通信.菊花链可用于电源,模拟信号,数字数据或其组合. 但是由于菊花链的串联特性,如果任何一个设备从链路 ...

  9. cmd设置环境变量

    方法,仅本次生效 set path=%path%;[新路径]方法,永久生效 setx path "%path%;[新路径]"方法,永久生效 wmic ENVIRONMENT cre ...

  10. 火狐对 min-height 的支持

    代码: <!DOCTYPE html> <style> .com-center-banner { background: #f00; } .com-center-banner ...