文件的操作

文件操作时,python首先会拿到文件的句柄;

f=open('filename','w',encoding='utf8') #写模式打开文件,拿到文件句柄;f为文件句柄

f=f.read() # 读文件内容

f.close() # 关闭文件,务必要关闭

文件打开模式:

写的时候,光标永远都在最后;

r读模式,只读,不可写;

w写模式,当文件写模式时,就会把原来的数据格式化,然后从0位置开始写;不可读

aappend,追加模式,只可在最后追加内容;不可读

r+ 读写模式,类似a模式

w+ 写读模式,也是先清空,然后写,和w模式的区别是可读。

a+ 和a模式的区别的可读。默认光标位置是最后

xcreate a new file and open it for writing

b二进制模式

ttext模式(default)

+open a disk file for updating(reading and writing)

uuniversal newline mode(deprecated)

文件按行读:

f=open('filename','w',encoding='utf8')

f=f.readline()#从第一行开始读,每执行一次readline就往下移动一行;python中,read到哪个位置,光标就移动到了那里;再读就从光标往后读;

f.readlines()#会把全文变成列表;每行是一个元素;

for i in f.readlines():

print(i.strip())

#最好不要这样,因为如果文件很大,f.readlines会全部读取到内存,会搞死内存;可以这样:

for i in f:

print(i.strip())

# 这里的for循环会 自动把 f做成一个迭代器,每循环一次,从f文件中取一次;

f.tell()     告诉我光标当前所在的位置。字符和当前字符编码有关。 f.seek(0)    光标回到0位置 f.truncate()   截断,需要在文件为a模式才有意义

终极问题:如何修改一个文件

由于磁盘存储机制,直接修改实现不了。只能先生成副本,然后想法删除旧文件,把新副本名字改回去。

f_read=open('小重山','r',encoding='utf8')

f_write = open('小重山2','w',encoding='utf8')

number=0

for line in f_read:

number+=1

if number==5:

line=''.join([line.strip(),'alex\n'])

# line='hello 岳飞\n'

f_write.write(line)

f_read.close()

f_write.close()

因为文件中只能存储字符串,所以假如有字典要存储在文件中,需要先将字典转换为字符串;用的时候需要使用eval转换回默认类型;如:

a={'beijing':{'1':10000}} #a为一个字典

a=str(a) #强转为字符串 '{'beijing':{'1':10000}}'

#这样等把a从文件中取出来时,还是字符串,不能使用字典的方法。要转回字典:

a=eval(a)

如果打开一个文件,忘记关闭了,怎么办?with方法可以解决。

f=open('log','r')

# 等效于

with open('log','r') as f:

并且with中,可以同时打开两个文件,拿到两个文件句柄:

with open('log1','r') as f1,open('log2','w') as f2:

python中简述文件_python中的文件操作相关推荐

  1. python不同数据的读入_python读写不同编码txt文件_python读写txt文件

    python读写不同编码txt文件_python读写txt文件 以后整理规范 [python] view plaincopy import os import codecs filenames=os. ...

  2. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  3. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

  4. python解压zip文件_Python中最快解压zip文件的方法

    假设现在的上下文(LCTT 译注:context,计算机术语,此处意为业务情景)是这样的:一个 zip 文件被上传到一个Web 服务中,然后 Python 需要解压这个 zip 文件然后分析和处理其中 ...

  5. python中怎么打开文件_python如何打开文件

    python中的文件对象: 文件对象不仅可以用来访问普通的磁盘文件, 而且也可以访问任何其它类型抽象层面上的"文 件". 一旦设置了合适的"钩子", 你就可以访 ...

  6. python 写txt 换行_python中写入txt文件需要换行,以及\r 和\n

    在Python中,用open()函数打开一个txt文件,写入一行数据之后需要一个换行 如果直接用 f.write('\n') 只会在后面打印一个字符串'\n',而不是换行' 需要用 f.write(' ...

  7. python怎么调用文件_python 中如何引用头文件

    python 引入 导入 自定义模块, python 引入 导入 外部文件 python 引入 导入 自定义模块, python 引入  导入 外部文件 项目中想使用以前的代码,或者什么样的需求致使你 ...

  8. python如何遍历文件夹中的所有图片_python实现遍历文件夹图片并重命名

    在做深度学习相关项目时,需要标注图片,筛选过后图片名字带有括号,显得比较乱,因此利用python进行统一规范重命名操作 实现方法是利用python的os模块对文件夹进行遍历(listdir),然后使用 ...

  9. python显示目录中的文件_Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  10. python删除重复文字_python如何删除文件中重复的字段

    本文实例为大家分享了python如何删除文件中重复字段的具体代码,供大家参考,具体内容如下 原文件内容放在list中,新文件内容按行查找,如果没有出现在list中则写入第三个文件中. import c ...

最新文章

  1. 如果在系统里面无法格式化磁盘可以尝试以下方法
  2. 如何让VS根据编译环境选择相应的配置文件
  3. 到底什么是AI0T?现在不少头部企业都在打造AIOT概念,今天我们就梳理一下AIOT产业都包含了哪些,启明云端在AIOT中,能提供哪些解决方案?
  4. oracle 未找到段的存储定义,Exp-00003 no storage definition found issue in oracle 11g (未找到段 (0,0) 的存储定义)...
  5. 人生实苦,可这就是人生
  6. 95-190-744-源码-WindowFunction-WindowFunction
  7. oracle时间差转换成小时分钟,oracle 时间差 具体到天:小时:分
  8. vue跨域使用websocket_在vue中使用SockJS实现webSocket通信的过程
  9. 使用LM324实现信号放大及电压比较综合报警电路
  10. 理解微分方程和线性代数的联系
  11. c语言中字节数如何判断,C语言中怎样判断输入的是整数还是浮点数
  12. 前端基础入门之css像素与视口和媒体查询
  13. css实现提示信息,纯CSS 实现tooltip 内容提示信息效果
  14. 学习js 正则表达式
  15. 中国人身材测试小软件编码,测试 || 我怀疑你是假中国人,不信你来试试
  16. [AHK]双击^键为ctrl+o,单击^输出6,三击。。。功能你想吧
  17. Qt扫盲-QDebug理论总结
  18. java并发编程实战wwj----------------------第一阶段--------------21-22-23-24-25-26
  19. 求刷Kindle Fire HD的方法
  20. E3游戏展十大观察:游戏行业缺乏惊喜1A1M

热门文章

  1. 无限级树状图html5,无限树状列表的实现
  2. 一元二次方程虚根求法java_请问怎么用C语言求一元二次方程的虚根
  3. 篮球英文术语翻译与解释 (以A至E为限)
  4. 用户留存分析学习整理
  5. 虚拟机是什么?有什么用
  6. C primer Plus 9.3.4 递归和倒序计算 DE3
  7. 计算机c盘是内存还是外存,rom是内存还是外存?
  8. PCB各种表面工艺差异说明
  9. 计算机专业考研上岸率,考研“寒冬年”?2020考研上岸几率到底有多大?
  10. 尘埃落定!AI 大牛贾佳亚离开腾讯优图,创立思谋科技,投身差异化 AI 创业