二.基本操作

#r''------------------>> r:原生字符串,不判断符号的含义

#文件处理

f=open(r’c:\a.txt’,’r’,encoding=’utf-8’)

f.read()#从头到尾全部打印

f.readlines()#按行读,输出成列表

f.readline()#从光标开始读一行

f.close()#文件操作完成一定要关闭

with open(r’C:\a.txt’,’w’,encoding=’utf-8’) as f: #可以打开多个,逗号隔开

f.write(‘hello\n’)

f.wrtielines([‘111\n’,’222\n’])

f.close

with open(‘a.txt’) as f;

for i in f.readlines():

print(i,end='')

with open('a.txt') as f:

for i in f:

print(i,end='')

with open('a.txt','rb') as f:

print(len(f.read())) #输出文件的字节长度

import os

print(os.path.getsize('a.txt)) #功能同上

wb

rb

ab

Unicode=》编码=》bytes

bytes=》解码=》Unicode

2.1 文件操作(怎么编码,怎么打开)

f = open('a.txt') #打开文件

first_line =f.readline()print('first line:',first_line,end='') #读一行

print(f.readlines()) #按行读

print('我是分隔线'.center(50,'-'))

data= f.read()#从光标当前位置开始,读取剩下的所有内容,文件大时不要用

print(data) #打印读取内容

f.close()#关闭文件

2.3 文件打开模式

1 文件句柄 = open('文件路径', '模式')

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

打开文件的模式有:

r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】

w,只写模式【不可读;不存在则创建;存在则清空内容】

x, 只写模式【不可读;不存在则创建,存在则报错】

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

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

r+, 读写【可读,可写】

w+,写读【可读,可写】

x+ ,写读【可读,可写】

a+, 写读【可读,可写】

"b"表示以字节的方式操作

rb 或 r+b

wb 或 w+b

xb 或 w+b

ab 或 a+b

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

以bytes方式读、写肯定不会乱码,同时可以打开图片,可以拷贝图片

#f.closed 判断文件是否关闭#.name .encoding .readable .writeable#.seek以文件开头作为参照,以字节为单位 可以在read之后将光标移动到开头 .seek(3,0/1/2) 从开头/当前/末尾 开始读3个字节#.truncate 截断,截出几个字节 需要写权限,但是w权限直接将空文件覆盖了,a,x,或者在各个写操作之后使用

2.4 文件内置函数flush

flush原理:

文件操作是通过软件将文件从硬盘读到内存

写入文件的操作也都是存入内存缓冲区buffer(内存速度快于硬盘,如果写入文件的数据都从内存刷到硬盘,内存与硬盘的速度延迟会被无限放大,效率变低,所以要刷到硬盘的数据我们统一往内存的一小块空间即buffer中放,一段时间后操作系统会将buffer中数据一次性刷到硬盘)

flush即,强制将写入的数据刷到硬盘

滚动条:

import sys,time

for i in range(10):

sys.stdout.write('#')

sys.stdout.flush()

time.sleep(0.2)

2.5 文件内光标移动

注意:read(3)代表读取3个字符,其余的文件内光标移动都是以字节为单位如seek,tell,read,truncate

整理中

2.6 open函数详解

1. open()语法

open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])

open函数有很多的参数,常用的是file,mode和encoding

file文件位置,需要加引号

mode文件打开模式,见下面3

buffering的可取值有0,1,>1三个,0代表buffer关闭(只适用于二进制模式),1代表line buffer(只适用于文本模式),>1表示初始化的buffer大小;

encoding表示的是返回的数据采用何种编码,一般采用utf8或者gbk;

errors的取值一般有strict,ignore,当取strict的时候,字符编码出现问题的时候,会报错,当取ignore的时候,编码出现问题,程序会忽略而过,继续执行下面的程序。

newline可以取的值有None, \n, \r, ”, ‘\r\n',用于区分换行符,但是这个参数只对文本模式有效;

closefd的取值,是与传入的文件参数有关,默认情况下为True,传入的file参数为文件的文件名,取值为False的时候,file只能是文件描述符,什么是文件描述符,就是一个非负整数,在Unix内核的系统中,打开一个文件,便会返回一个文件描述符。

2. Python中file()与open()区别

两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两种文件打开方式有本质的区别,file为文件类,用file()来打开文件,相当于这是在构造文件类,而用open()打开文件,是用python的内建函数来操作,建议使用open

3. 参数mode的基本取值

Character

Meaning

‘r'

open for reading (default)

‘w'

open for writing, truncating the file first

‘a'

open for writing, appending to the end of the file if it exists

‘b'

binary mode

‘t'

text mode (default)

‘+'

open a disk file for updating (reading and writing)

‘U'

universal newline mode (for backwards compatibility; should not be used in new code)

r、w、a为打开文件的基本模式,对应着只读、只写、追加模式;

b、t、+、U这四个字符,与以上的文件打开模式组合使用,二进制模式,文本模式,读写模式、通用换行符,根据实际情况组合使用、

常见的mode取值组合

1 r或rt 默认模式,文本模式读

2 rb 二进制文件

3

4 w或wt 文本模式写,打开前文件存储被清空

5 wb 二进制写,文件存储同样被清空

6

7 a 追加模式,只能写在文件末尾

8 a+ 可读写模式,写只能写在文件末尾

9

10 w+ 可读写,与a+的区别是要清空文件内容

11 r+ 可读写,与a+的区别是可以写到文件任何位置

2.7 上下文管理

with open('a.txt','w') as f:

pass

with open('a.txt','r') as read_f,open('b.txt','w') as write_f:

data=read_f.read()

write_f.write(data)

2.8 文件的修改

import os

with open('a.txt','r',encoding='utf-8') as read_f,\

open('.a.txt.swap','w',encoding='utf-8') as write_f:

for line in read_f:

if line.startswith('hello'):

line='哈哈哈\n'

write_f.write(line)

os.remove('a.txt')

os.rename('.a.txt.swap','a.txt')

python可以处理哪些文件_Python(文件处理)相关推荐

  1. python可以处理哪些文件_python文件处理

    1.python文件概念 python中文件就是一个对象,而linux中一切设备都可以看成文件,例如:磁盘文件,管道,网络Socket,外设等,都可以使用文件的方式对其进行操作.linux中文件的属性 ...

  2. python读取写入文件_Python文件读写保存操作

    记录下第一次使用Python读写文件的过程,虽然很简单,第一次实现其实也有些注意的事项. 单个文件的读操作: 我们先假设一个需求如下: 读取一个test.txt文件 删除指定字符之前的文本 需求明白之 ...

  3. python在windows 输入和输出文件_Python文件、目录和输入输出操作

    读取键盘的输入 Python提供了input()内置函数从标准输入读入一行文本,默认的标准输入是键盘.input可以接收一个Python表达式作为输入,并将运算结果返回,如下所示: biotest@b ...

  4. python为什么保存不了_python文件无法保存怎么解决

    python中保存文件的方法如下 读文件f = open('Test.txt') #打开文件 data = f.read() #读取文件 print(data) # oneLine = f.readl ...

  5. python以读写方式打开文件_python 文件读写with open模式r,r+,w,w+,a,a+的区别

    原博文 2020-07-31 17:49 − 模式可做操作若文件不存在是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建 是 a 只能写 创建 否,追 ...

  6. python为什么打不开py文件_python文件打不开如何解决

    python中打开文件使用的是open()函数,获取文件对象,之后的操作都是相对于文件对象而言的.f = open('your_file.txt','r') 就可以打开一个文件进行操作.第二个参数为对 ...

  7. python能以文本和二进制方式处理文件_Python文件处理之文件写入方式与写缓存(三)...

    Python的open的写入方式有: write(str):将str写入文件 writelines(sequence of strings):写多行到文件,参数为可迭代对象 首先来看下writelin ...

  8. python 读取鼠标选中文本_python 文件

    目标 文件的概念 文件的基本操作 文件/文件夹的常用操作 文本文件的编码方式 01. 文件的概念 1.1 文件的概念和作用 计算机的 文件,就是存储在某种 长期储存设备 上的一段 数据 长期存储设备包 ...

  9. python能封装成exe文件_python文件封装成*.exe文件(单文件和多文件)

    环境:win10 64位  python3.7 单*.py文件打包 Python GUI:程序打包为exe 一.安装Pyinstaller,命令pip install Pyinstaller,(大写的 ...

  10. python 读取文件名 指定编码_Python 文件读写与编码解读

    一.Python 读取文件使用open函数 python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写. open(name[,mode[,buffer ...

最新文章

  1. 科学家发现第三种磁性:或是量子计算又一突破
  2. IT从业人员必看的10个论坛
  3. android jack log,Android:JACK编译错误汇总及解决
  4. ASP.NET Core MVC – Caching Tag Helpers
  5. response的运行过程
  6. MySQL的学习--触发器
  7. 原生JDBC操作数据库流程
  8. BlockChain: 区块链入门课程 -- 区块链适用于移动性 分享和收费案例
  9. 自定义事件和jQuery插件
  10. [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)
  11. 深度学习剖根问底:SGD算法详解
  12. Java学习笔记-全栈-web开发-01-HTML基础总览
  13. 5G啊5G,你是不是只比4G多一G?
  14. ipad 的android模拟器,苹果IPAD模拟器(iPadian)
  15. python编写计算方差的函数_基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解...
  16. 载波聚合或双连接的方式进行_一文读懂5G基站和4G基站如何协同工作
  17. 从来不流鼻涕php没有毛病,睡觉的时候为什么不会流鼻涕?
  18. 离职/辞职通知书模板
  19. vue操作easyui中的DataGrid
  20. 维特智能IMU 接入ROS发布IMU数据类型话题

热门文章

  1. 有关Kill Session问题的讨论(旧文初发)
  2. Web Control开发随笔(4):Control与WebControl 的Properity初探
  3. php图像销毁_php对图像的各种处理函数代码小结
  4. error LNK2001: 无法解析的外部符号 __iob_func
  5. WebRTC之gn与ninja(十三)
  6. Mac解压Linux平台tar包报错:tar: Error reading Truncated input file
  7. shell解析xml文件
  8. 使用Android 隐藏API和内部 API
  9. Mac使用minicom串口工具
  10. UE4之判断点是否在矩形内