文件没有修改操作,修改的方式为打开文件--读取文件--内存中编辑文件--将内容写入文件

打开文件方式

with open('a.txt','w') as f: #操作系统自动关闭文件
f.write('xxx\n') f = open('a.txt','w',encoding='gbk')
f.write('xxx')
f.close()

文件打开模式

  • r 只读模式。如果文件不存在,返回异常FileNotFoundError,默认值;
  • w 覆盖写模式,文件不存在则创建,存在则完全覆盖;
  • x 创建写模式,文件不存在则创建,存在则返回异常FileExistError;
  • a 追加写模式,文件不存在则创建,存在则在文件最后追加内容;
  • t 文本文件模式,默认值;
  • b 二进制文件模式;
  • ‘+' 与r/w/x/a一同使用,在原功能的基础上增加同事读写的功能

文件打开时+表示同时读写某个文件

  • r+ 读写
  • w+ 写读
  • x+ 写读
  • a+ 写读

b表示以字节的方式操作(对linux无影响,如果需要跨平台性能好文件打开关闭建议采用rb的方式)

  • rb或r+b
  • wb或w+b
  • xb或x+b
  • ab或a+b

f.readlines() 一次读取文件,读取后的文件为列表

二进制文件读取,不能指定编码,只能读取文件之后使用decode方式进行解码

f = open(‘a.txt’,'rb')
data = f.read().decode('utf-8')
print(data)
f.close

二进制文件写入,不能指定编码,只能将内容先转换成bytes类型

#方法一
f = open(‘a.txt’,'wb')
f.write(bytes('11111\r\n',encoding='utf-8'))
f.close()
#方法二
a = open(‘a.txt’,'wb')
a.write('杨戬'.encode('utf-8'))
a.close()

文件内容从内存写入到磁盘

一般需要f.close()的时候才能够写入文件,如果不关闭文件,需要使用下面命令写入到文件中

f.flush()

文件光标位置

print(f.tell()) #读取当前光标位置
f.seek() #修改光标位置,按照**字节**计算
f.read(4) #读取4个**字符**

seek三种模式

seek(光标移动多少位,模式)

  • 0 默认模式,从文件开头
  • 1 以光标当前位置进行seek,相对seek
  • 2 从文件末尾进行seek 如seek(-10,2)

使用seek案例

读取文件最后一行

f = open(日志文件,'r')
for i in f:
offs=100 #定义偏移量,一行大概10个字节
while True:
f.seek(offs,2)
data = f.readlines()
if len(data) > 1:
print(‘文件的最后一行是%s’, %(data[-1].decode('utf-8')))
break
offs*=2

循环文件方式,要一行就读取一行,减小内存占用

for i in f:
print(i)

跨平台的换行符读取

f.open("a.txt","r",newline="") #读取真正的换行符

python文件管理的更多相关文章

  1. python文件管理小计

    1.读取只当路径下所有文件和文件夹 import os def file_name(file_dir): for root, dirs, files in os.walk(file_dir): pri ...

  2. python——文件管理

    文件操作分为读.写.修改 一.读文件 f = open(file='D:/工作日常/兼职白领学生空姐模特护士联系方式.txt',mode='r',encoding='utf-8') data = f. ...

  3. Python标准库04 文件管理 (部分os包,shutil包)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令 ...

  4. Python -- 标准库 文件管理 (部分os包,shutil包)

    在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令.Python标准库则允许我们从Python内部管理文件.相同的目的,我们有了两条途径.尽管在Python调用标准库的 ...

  5. Ubuntu16.04实用python脚本 - 启动nautilus(Gnome的文件管理器)!

    nautilus是Gnome的图形的文件管理器,可以很方便管理各种文件,但是通常我们不是在root用户下,如果想在root下使用,必须在shell里面输入命令: sudo nautilus 这样做固然 ...

  6. Python之路【第五篇】python基础 之初识函数(一)和文件管理

    转载请注明出处http://www.cnblogs.com/wupeiqi/articles/5453708.html 函数 一.背景                                 ...

  7. python学习笔记25(文件管理 os包)

    os包我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数.如果你对linux基本操作了解的话,下面的一些os方法应该会很熟悉的,因为基本和li ...

  8. Python学习笔记11:标准库之文件管理(os包,shutil包)

    1 os包 os包包含各种各样的函数,以实现操作系统的很多功能.这个包很庞杂.os包的一些命令就是用于文件管理. 我们这里列出最经常使用的: mkdir(path) 创建新文件夹.path为一个字符串 ...

  9. Python 编程实战提高测试工作效率实例之svn 文件管理

    #coding=utf-8 ''' Created on 2016年8月22日 @author:Tom Gao ''' importre importos importtime "" ...

随机推荐

  1. python3使用pymysql模块,连接mysql数据库,实现新增、查询和更新操作

    1.环境数据准备: python3环境.pymysql模块 mysql数据库:本次代码中用到的数据库为本地的testdb数据库,user表(表字段比较简单,只有主键id,手机号mobile,密码pas ...

  2. 排序——选择排序(java描述)

    百度百科的描述如下:选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元 ...

  3. C语言中的多线程编程

    很久很久以前,我对C语言的了解并不是很多,我最早听说多线程编程是用Java,其实C语言也有多线程编程,而且更为简单.方便.强大.下面就让我们简单领略一下Unix C语言环境下的多线程编程吧! 下面先看 ...

  4. js判断手指的上滑,下滑,左滑,右滑,事件监听

    原理:1:当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和staerY: 2:当触发touchmove事件的时候,再获取此时手指的横坐标moveEndX和纵坐标moveEn ...

  5. Linux awk命令详解 + 练习

    https://www.cnblogs.com/ftl1012/p/9250541.html 练习步骤: 1.我先是在root文件下面创建一个yan.txt文件,然后在文件中随便敲了几个字符串,由空格 ...

  6. idel 快捷键 记录

    1.找到实现一个类或者接口子类的快捷键 ctrl + B父类或父方法定义 ctrl + alt + B子类或子方法实现 2.跳转上次 下次 操作 ctrl + alt + -->  / < ...

  7. Yii2给数据库表添加字段后对应模型无法识别到该属性的原因和解决办法

    Yii2给数据库表添加字段后对应模型无法识别到该属性的原因和解决办法 应为数据库表的结构被缓存了.删除runtime文件夹或者执行 //清理指定表结构缓存数据 Yii::$app->db-> ...

  8. ChIP-seq实战 | 染色质免疫共沉淀技术 | ATAC-seq | 染色质开放性测序技术

    参考:生信技能树 ChIP-Seq综述 一些简单的copy,纯属个人笔记. ChIP-seq的原理 用于在全基因组范围中研究DNA结合蛋白(相互反应).组蛋白修饰(表观遗传标记)和核小体的技术,研究这 ...

  9. 51Nod 1810 连续区间

    https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1810 题目给出一个1~n的排列,问有多少连续区间.连续区间的定义为区间 ...

  10. Confluence 6 空间权限和链接到相关的空间

    空间权限 每一个空间将会创建一个默认的权限.创建空间的用户将会自动具有空间管理员(space admin)的权限,这个的意思是你可以为其他用户和用户组赋予空间访问和管理的权限. 请查看 Space P ...