博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件处理
阅读量:4971 次
发布时间:2019-06-12

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

操作文件的流程:

1打开文件,得到文件内容,并赋值给一个变量

2,对文件进行操作

3,关闭文件

#1. 打开文件,得到文件句柄并赋值给一个变量

f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r

#2. 通过句柄对文件进行操作

data=f.read()

#3. 关闭文件

f.close()

 

f=open(‘a.txt’,‘r’)的过程分析

  1.由应用程序向操作系统发起调用open(。。。)

  2.操作系统打开该文件,并返回一个文件句柄给应用程序

  3.应用程序将文具句柄赋值给变量f

 

打开文件的模式:

  r      只读模式(默认模式,文件必须存在,不存在则会报错)

  w   只写模式(不可读,不存在创建,存在则清空空间)

  a       只追加写模式(不可读,不存在则创建,存在则只追加内容)

=======================================================

  t  文本模式(默认)

  b 二进制模式

=======================================================

  + 打开一个文件进行更新(可读可写)

f    对象使用文件open函数来创建:

  f.close()关闭文件,关闭文件后不能再进行读写操作

  f.flush() 刷新文件内部缓冲,直接拿内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入

  f.isatty()如果文件连接到一个终端设备返回true,否则返回false

  f.fileno()返回一个整型的文件描述符,可以用在如os模块的read方法等一些底层操作上

  f.next ()返回文件下一行

  f.read()从文件中读取内容

  f.readline()读取所有行并返回列表

  f.seek()设置文件担当前位置

  f.tell()返回文件当前位置

  f.write 将字符串写入文件,返回的是写入的字符长度

  f.wrielines()向文件写入一个序列字符串,如果需要换行则需要自己加入没行的换行符

 

 

#掌握

f.read() #读取所有内容,光标移动到文件末尾
f.readline() #读取一行内容,光标移动到第二行首部
f.readlines() #读取每一行内容,存放于列表中

f.write('1111\n222\n') #针对文本模式的写,需要自己写换行符

f.write('1111\n222\n'.encode('utf-8')) #针对b模式的写,需要自己写换行符
f.writelines(['333\n','444\n']) #文件模式
f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式

#了解

f.readable() #文件是否可读
f.writable() #文件是否可读
f.closed #文件是否关闭
f.encoding #如果文件打开模式为b,则没有该属性
f.flush() #立刻将文件内容从内存刷到硬盘
f.name

转载于:https://www.cnblogs.com/frank007/p/9682896.html

你可能感兴趣的文章
【noip2004】虫食算——剪枝DFS
查看>>
python 多进程和多线程的区别
查看>>
sigar
查看>>
iOS7自定义statusbar和navigationbar的若干问题
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
c#中从string数组转换到int数组
查看>>
数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
toad for oracle中文显示乱码
查看>>
SQL中Group By的使用
查看>>
两个表格中数据不用是一一对应关系--来筛选不同数据,或者相同数据
查看>>
hiho_offer收割18_题解报告_差第四题
查看>>
AngularJs表单验证
查看>>
静态方法是否属于线程安全
查看>>
02号团队-团队任务3:每日立会(2018-12-05)
查看>>
SQLite移植手记1
查看>>
js05-DOM对象二
查看>>