1.打开文件

打开文件的三步:打开 --> 操作 --> 关闭

f = open(’/tmp/passwdd’,‘w’) ##打开文件
content = f.read() ##操作
f.close() ##关闭文件

#打开文件
f = open('/tmp/passwdd','w')#读操作
# content = f.read()
# print(content)
# print(f.writable())
# print(f.readable())#写操作
f.write('hello')#关闭
f.close()

2.文件的读写(文本文件)

操作符 功能
r:默认 只能读不能写读取的文件不存在会报错
r+ 可以执行读写操作,文件不存在会报错,默认情况下从文件指针所在位置开始写入
w:write only 会清空文件之前的内容,文件不存在不会报错,会创建新的文件并写入
w+ 可读可写,会清空源文件内容,文件不存在时不会报错,会建立文件并写入
a:write only 不会清空文件内容,文件不存在会建立文件
a+ 可读可写,不会清空原来的内容,在原文件末尾追加,文件不存在会自动建立并写入

例:

f = open('/mnt/passwd','r+')           print(f.tell())         ###查看当前指针所在的位置
f.write('python')     ##写入print(f.tell())         ###查看当前指针所在的位置
content = f.read()
print(content)          ##读操作f.close()

运行:你可能会遇到下面的报错——这是因为文件的权限不够

实验:

<1>r:可读不可写

<2>r+:可读可写

<3>w:可写,会清空文件之前的内容,文件不存在不会报错,会创建新的文件并写入

当我们使用w时,文件不存在,竟然报错了,不是说文件不存在时会自行建立并写入吗?仔细查看报错我们发现,它告诉我们权限不够,好的,文件不存在那么权限也无从谈起,我们试试更改/mnt的权限


3.文件指针与读取操作

为了方便理解,我们先准备下面的文件/mnt/test(权限加满):

文件指针

seek方法,移动指针
seek的第一个参数是偏移量:>0,表示向右移动,<0表示向左移动
seek的第二个参数是:
0:移动指针到文件开头
1:不移动指针
2:移动指针到末尾

文件读取操作

  • f = open(’/mnt/test’,‘rb’)
  • read() ------>读取文件内容,并将内容一行输出
  • readilne()------>读取文件内容,写入几行readilne(),输出几行
  • readlines()------>读取文件内容,返回一个列表,列表的元素分别是文件内行的内容

(1)readlines():读取文件内容,返回一个列表,列表的元素分别为文件
行内容
(2)默认情况下读取文件的所有内容,小文件可以直接用read读取,如果
是大文件(文件大小>内存大小),不能通过read一次性读取所有内容

操作演示:

1)查看当前指针所在的位置f.tell()------->‘hello’ 共5个字节,‘a+’ 是在文件末尾操作,末尾指针118+5=123

2)区别使用read,readline,readlines

read:读取文件内容,并将内容一行输出

read:取出文件的前四个字符(相当于head -c 4)

readline:读取文件内容,写入几行readilne(),输出几行


readlines:读取文件内容,返回一个列表,列表的元素分别是文件内行的内容

去掉文件每一行的空格(strip 取出广义的空格,\n \t 都属于广义的空格)

3)文件指针seek方法的使用

4.非纯文本文件读取

文件类型 相关查看方法
读取文本文件 r r+ w w+ a a+
读取二进制文件 rb rb+ wb wb+ ab ab+

示例:

我们试试读取下面的二维码

当然我们也可以复制这个二维码------->生成了111.jpg,与源文件相同

5.上下文管理器

有时候打开文件忘记关闭,可以用以下方法解决
不用写f.close()

简单的即条命令生成了和/etc/passwd相同的文件

练习题:

创建文件data.txt,文件共100000行,每行存放一个1~100之间的整数

Python之文件操作相关推荐

  1. python写文件追加 按行追加_你真的会用python进行文件操作吗

    本篇文章主要比较系统的介绍了python中文件操作,以及在在使用中需要注意的问题. 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非易失性存储器中实现持续性存储, ...

  2. Python基础-文件操作

    Python基础-文件操作 1.文件的打开和关闭 # 1.打开文件 # 默认r模式 只读 文件不存在,报错 # f = open('a.txt')# w模式 写权限 # 如果文件不存在,就会创建文件 ...

  3. python的文件操作、模块操作、os模块、time、datatime模块以及模块的制作

    Day12新手小白学python 第十二节 python的文件操作.模块操作.os模块.time.datatime模块以及模块的制作 目录 Day12新手小白学python 前言 一.文件打开关闭 二 ...

  4. 15 python的文件操作

    一.文件打开 文件(file) 通过Python程序来对计算机中的各种文件进行增删改查的操作,文件也叫I/O(Input/Output) 文件的操作步骤 打开文件 对文件进行各种操作(读.写)然后保存 ...

  5. python通过内置的什么函数打开一个文件_利用python进行文件操作

    这篇文章主要介绍了如何利用python进行文件操作,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非 ...

  6. Python之文件操作_读取_编码_os模块

    目录 前言 一.文件基本操作 1.什么是文件 2.操作文件的步骤 3.文件的路径 4.open函数操作权限总结 5.文件读取 6.with-open-as 7.文件定位读取 8.文件编码 二.OS模块 ...

  7. python对文件操作-python中文件操作的其他方法

    Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open("poems" ...

  8. python:文件操作

    一.文件操作 1.介绍 f:变量,f_obj,file,f_handler.....文件句柄 open      window的系统功能 windows默认编码方式:gbk',linux默认编码方式是 ...

  9. Python基础--文件操作

    文件操作通常用来存储程序结果,以便下次可以直接使用,不必要重新运行一遍.文件操作最基本的三步:1.打开文件或者新建文件  2. 读或者写  3 关闭文件流保存数据. Python 访问模式如下: 打开 ...

  10. python对文件的读操作有哪些方法-Python之文件操作:文件的读写

    一.open函数:对文件读写之前,需要先打开文件,获取文件句柄 注意:open() file() 尽量使用open(),Python3以后不支持file()了 1.open(file_name[,ac ...

最新文章

  1. git源码服务器搭建,树莓派3-搭建GIT代码服务器
  2. 关于寻路算法的一些思考(5):处理移动中的障碍物
  3. 面试官给我挖坑:单台服务器并发TCP连接数到底可以有多少 ?
  4. WPF实现物理效果 拉一个小球
  5. Linq表达式和Lambda表达式用法对比
  6. IP: 169.254.0.0/16 地址用途
  7. vim 强制保存只读文件
  8. 3D远方纯动态白云页面源码
  9. keybd_event()使用方法
  10. 汇编学习--6.13--基础知识
  11. 从JavaEye社区被迫改名说起(转载他人博客)
  12. 微信小程序实现垂直tab标签页的切换及动态的选中下划线移动-纵向
  13. 如何听懂画外音-《用事实说话》:听懂“暗语”,让沟通透明化
  14. bgp状态idle什么原因_BGP - 2,BGP报文和BGP状态(转)
  15. vscode插件Todo Tree配置
  16. python搭建简易的https服务器
  17. 云计算技术与应用(高职组)赛题库 2019 年全国职业院校技能大赛题库
  18. 一个简单炫酷的前端小项目(html+css+js)----3D图片演示
  19. java设计模式--设配器adapter
  20. python入门基础笔记

热门文章

  1. R语言with函数和within函数:with函数基于表达式在dataframe上计算、within函数基于表达式在dataframe上计算并修改原始数据
  2. Python裁剪图片(Crop an Image)
  3. Error in eval(predvars, data, env) : object ‘**‘ not found
  4. 3D Slicer画病灶可能产生的问题+核磁共振影像数据处理-14-3d slicer画病灶“三宗罪”|常见bug(错误)汇总
  5. LSTM模型(基于Keras框架)预测特定城市或者区域的太阳光照量实战
  6. python检查目录是否存在,如果不存在则创建
  7. linux下文件夹函数,如何从linux上的文件夹中找到一个函数
  8. 音频编辑软件_Audacity2.12版
  9. 中国知网PCNI号码
  10. DrugBank数据库