python修炼6

文件操作

注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。

1.打开文件

(相当于桌面的快捷方式)f=open(文件名,模式默认是制度模式"r")

data = f.red()

f.colse()--------------开一个必须关一个要不然消耗内存

print(data)

模式:r只读w会覆盖只写x只写a追加

  • r ,只读模式【默认】
  • w,只写模式【不可读;不存在则创建;存在则清空内容;】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【不可读;   不存在则创建;存在则只追加内容;】

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

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

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

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

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

打开方式-->字节

q= bytes(data,enconding=“utf-8")

1只读,rb(默认打开的就是字节)

f=open("ha.log","rb")

data=f.read()

f.close()

print(type(data))

2.只写wb

f=open("ha.log")

2.文件常用的可执行方法补充(文件内置函数)

f.flush()    刷新

f.read(3)   意识是读取3个字符,其他的函数都是以字节为单位seek,tell,read,truncate

f.open(file,mode buffering) file相当于文件的位置 、路径,mode文件的打开模式,buffering可取值0,1,》1三个

0代表buffer关闭

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)

 1 r或rt 默认模式,文本模式读
 2 rb   二进制文件
 3 w或wt 文本模式写,打开前文件存储被清空
 4 wb  二进制写,文件存储同样被清A
 5 a  追加模式,只能写在文件末尾
 6 a+ 可读写模式,写只能写在文件末
 7 w+ 可读写,与a+的区别是要清空文件内容
 8 r+ 可读写,与a+的区别是可以写到文件任何位置 

encoding表示返回的数据采用编码方式,系统默认gbk  python默认utf-8

newline 可以采取的值,有none \n\r

file()打开的是类和open()打开的是文件

-----------------------------------------------------------------------------------------------------------------------------------------------------------

1、打开文件读写

f=open(‘d:\a.txt‘,"r")

f.read(4)-------------#读取四个字节

f.read()--------------#读取到文件末尾

f.readline读一行

f.readline读所有行

line‘.strip()   删除换行符

f.write()

f.write()

f.writeline()

f.writelines()

f.seek(offset,wherer)

f.r

file的其他方法:

F.close()

#关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。如果一个文件在关闭后还对其进行操作会产生ValueError

F.flush()

#把缓冲区的内容写入硬盘

F.fileno()

#返回一个长整型的”文件标签“

F.isatty()

#文件是否是一个终端设备文件(unix系统中的)

F.tell()

#返回文件操作标记的当前位置,以文件的开头为原点

F.next()

#返回下一行,并将文件操作标记位移到下一行。把一个file用于for ... in file这样的语句时,就是调用next()函数来实现遍历的。

F.seek(offset[,whence])

#将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。

F.truncate([size])

#把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

时间: 2024-10-20 07:16:20

python修炼6的相关文章

python修炼7----迭代器

迭代器 -------------------------------------------------------------------------------- 充电小知识 1.yield--->自定义函数中只要出现y写了点就说明函数已经是一个Generator.    yield--->m=yield 5  131 可作为表达式进行赋值,此刻m的值是131,5是def定义的函数返回的值    yield--->next()   函数被调用后必须经过.__next__()方法执行

Python修炼之路第一步:什么是Python?

 Python的起源: 要知道一门语言是什么样的语言,我们就必须从它的起源说起.Python是荷兰程序员Guido Van Rossum于1989年发明,在经过两年时间的修改和优化之后,于1991年发行了第一个公开发行版.Python因其特性,自发明开始到迅速发展在计算机程序设计语言中占有了一席之地,都足以证明其优秀性,而Python发明背后的一个小故事也令其增添了一丝趣味性:Python的发明者 Guido在1989年的圣诞节期间,为了打发无聊的时间,决心开发一个新的脚本解释语言,做为ABC

Python修炼之路第二步:Python的基石

Python作为最棒的计算机程序设计语言,构成Python的庞大体系的零部件就起到了基石的作用.今天就介绍其中的几种: 1.变量 2.列表 3.元组 4.字典 5数据运算 1. 变量: 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问. 那么我们的第一步就是声明一个变量: first_script = 'Hello World' print (first_script) >>>Hello World 第一个脚本 如代码块中所示,我们需要的是将一个值赋

Python 修炼2

Python开发IDE:Pycharm.elipse 1.运算符 1 1.算数运算 + - * / // ** % 2 3 2. 赋值运算 a = 1 a += 2 4 5 3.比较运算 1>3 6 7 4.逻辑运算 1>3 or 1>4 and 1>3 8 9 5.成员运算 "ab" in /not in "abce" 10 数字(int) int 常用操作 将字符串转化为数字int("123") 查看数据类型 type

Python修炼之路-文件操作

文件操作流程:     打开文件,得到文件句柄并赋值给一个变量    通过句柄对文件进行操作    关闭文件    每次文件打开.读取信息时,Python自动记录所达到的位置,好比一个书签,之后每一次读取都会从上次结束的地方开始,如果要从开始的位置读取,可以将其关闭后打开. 文件操作模式:r :只读模式 (默认)    w :只写模式 (不可读:如果文件不存在,则创建新文件:如果文件存在,则删除原内容)    a :追加模式 (不可读:如果文件不存在,则创建新文件:如果文件存在,则在文件末追加内

不折腾,毋宁死。Python修炼之路(目录)

目录 一.Python基础 二.函数和常用模块 三.面向对象 四.网络编程基础 五.网络编程进阶 六.WEB开发基础 七.WEB开发进阶 八.算法与设计模式 一.Python基础  Python发展简介 第一个Python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while循环 for循环 模块初识 pyc是什么 python数据类型 数据运算 bytes数据类型 列表的使用 原文地址:https://www.cnblogs.com/gyf9527

python修炼第三天

今天主要讲了文件操作,函数与装饰器,装饰器比较烧脑,需要多做练习,逐步分解来进行理解!    加油! 一 文件操作 操作系统 提供文件的概念可以操作磁盘. 文件的只读模式: 注意如果是windows 前面要加个r:open(r"C:\a.txt") . 或者分隔符是 /f = open("D:/python21期/L002-老男孩教育-Python20期VIP视频-mp4/b.txt","r",encoding="utf-8"

python修炼第六天

越来越难了....现在啥也不想说了,撸起袖子干. 1 面向对象 先来个例子: 比如人狗大战需要有狗,人所以创建两个类别模子def Person(name,sex,hp,dps): dic = {"name":name,"sex":sex,"hp":hp,"dps":dps,"bag",[]} return dic def Dog(name,kind,hp,dps): dic = {"name&qu

python修炼第七天

第七天面向对象进阶,面向对象编程理解还是有些难度的,但是我觉得如果弄明白了,要比函数编程过程编程省事多了.继续努力! 1.面向对象补充: 封装 广义上的封装:把变量和函数都放在类中狭义上的封装:把一些变量或者方法隐藏起来,不对外公开. 静态属性分两种: 公有的: 私有的: __名字 就是在名字前面加上两个下划线.这个就是公有的了 比如: class Person: name = "jack" #这个就是公有静态属性 __country = "中国" #这个是私有静态