从零开始的Python学习Episode 7——文件基本操作

文件基本操作

一、打开文件

f = open(‘11‘,‘r‘)#open(‘file path‘,‘mode‘)

  创建一个文件对象

文件有多种打开模式:

1. ‘r‘:新建一个文件对象以只读方式打开文件。读文件的指针将会放在文件的开头。

f = open(‘11‘,‘r‘)#open(‘file path‘,mode‘)
data = f.read()
print(data)f.close()
#输出123456789

2.‘w’:新建一个只用于写文件的文件对象

f = open(‘11‘,‘w‘)
f.write(‘12345‘)f.close()
#文件中内容会变成12345

  如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除。如果该文件不存在,创建新文件并写入内容。

3. ‘a‘: 新建一个只用于追加内容的文件对象。

f = open(‘11‘,‘a‘)
f.write(‘\n12345655‘)
f.close()

  文件的末尾会加上要输入的内容。

  如果该文件已存在,文件指针将会放在文件的结尾,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

4. ‘r+‘: 新建一个只用于读写的文件对象。文件指针将会放在文件的开头,但写入内容会写到文件内容末尾。

f = open(‘11‘, ‘r+‘)
a = f.readline()
f.write(‘789‘)
print(a)f.close()
#输出123
#文件末尾加上了789

5.‘w+‘:新建一个只用于读写的文件对象。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

6. ‘a+‘: 新建一个只用于读写的文件对象。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。读文件时从文件内容的末尾读,因为文件指针放在文件的结尾。

二、内置方法

1. readline()

f = open(‘11‘,‘r‘)
print(f.readline())
f.close()
#文件内容:
#123
#1234
#12345
#123456
#输出:123

  按行输出。每调用一次输出一行。

2. readlines()

f = open(‘11‘,‘r‘)
print(f.readlines())
f.close()
#输出[‘123\n‘, ‘1234\n‘, ‘12345\n‘, ‘123456‘]

  输出所有行,以列表形式返回。

3.flush()方法

  可以用来刷新缓冲区,将缓冲区中的数据立刻写入文件,同时清空缓冲区,不用被动地等待输出缓冲区写入。一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。例如:进度条

import sys,time
for i in range(30):
    sys.stdout.write(‘*‘)
    sys.stdout.flush()
    time.sleep(0.1)

 

4.truncate()方法

f = open(‘11‘, ‘a‘)
f.truncate(2)
#文件内容
#123
#1234
#12345
#123456
#输出12

  用于截断文件,如果指定了可选参数 size,则表示保留前size 个字节,删除 size 后面的所有字符。 如果没有指定 size,则从当前位置起截断。

5.seek()方法

seek(offset ,whence) 方法改变当前文件的位置。

offset变量表示要移动的字节数。whence变量表示要从哪个位置开始偏移.

如果whence被设为0,表示将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。

6.with 关键字

with open(‘11‘,‘r‘) as f:
    a = f.readline()
print(a)

  使用了with之后,可以不用写close(),默认在with语句执行完之后关闭文件。

7.tell() 方法

返回文件的当前位置,即文件指针当前位置。

with open(‘11‘,‘r+‘) as f:
    a = f.readline(1)
    print(a)
    print(f.tell())

  

原文地址:https://www.cnblogs.com/smilepup-hhr/p/9691769.html

时间: 2024-11-05 21:34:30

从零开始的Python学习Episode 7——文件基本操作的相关文章

从零开始的Python学习Episode 10——函数

函数 一.函数的创建 简单格式 def function_name(参数表): 函数体 return 如果没有写return,函数会默认返回一个none 二.函数的参数 必需参数: 调用函数时必需参数须以正确的顺序传入,调用的数量必须和声明时的一样. def func1(name,age): print('my name is %s,i am %d years old'%(name,age)) func1('smilepup',20) #输出my name is smilepup,i am 20

从零开始的Python学习Episode 11——装饰器

装饰器 装饰器是用来处理其他函数的函数,主要作用是在不修改原有函数的情况下添加新的功能,装饰器的返回值也是一个函数对象. 简单的装饰器 1 import time 2 3 def show_time(f): 4 def inner(): 5 start = time.time() 6 f() 7 end = time.time() 8 print('time: %s'%(end-start)) 9 return inner 10 11 @show_time 12 def fun1(): 13 p

从零开始的Python学习Episode 12——迭代器&生成器

生成器 列表生成式 用于快速地生成一个列表 a = [x*x for x in range(1,9)] print(a) #输出[1, 4, 9, 16, 25, 36, 49, 64] 也可以用于生成函数结果的列表 def f(n): return n**3 a = [f(x) for x in range(1,9)] print(a) #输出[1, 8, 27, 64, 125, 216, 343, 512] 迭代器 迭代器是一个带状态的对象,他能在你调用 next() 方法的时候返回容器中

从零开始的Python学习Episode 14——日志操作

日志操作 一.logging模块 %(message)s 日志信息 %(levelno)s 日志级别 datefmt 设置时间格式 filename 设置日志保存的路径 level 设置日志记录的级别 filemode:文件打开方式,在指定了filename时使用这个参数,默认值为"a"还可指定为"w","a"表示在原有的日志之后增添日志,"w"表示清除原有的日志后再添加新的日志. 配置日志级别.日志格式.输出位置 impor

从零开始的Python学习Episode 17——序列化

序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语 言中也被称之为serialization,marshalling,flattening等等,都是一个意思. 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上. 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling. json 如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好 的方法是序列

从零开始的Python学习Episode 5——字典

字典 字典是另一种可变容器模型,且可存储任意类型对象. 一.添加 (1)直接添加 dict={'name':'smilepup'} dict['age']=20 dict['name']='piggy' print(dict) #输出{'name': 'piggy', 'age': 20} 若输入的键存在,就把键对应的值更新为新的值. 若输入的键不存在,就把输入的键值对添加进字典. (2)setdefault()方法 dict={'name':'smilepup'} a = dict.setde

python学习笔记九——文件与目录

1.python进行文件读写的函数是open或file类 mode:r  只读 r+   读写 w  写入,先删除原文件,再重新写入,如果文件没有则创建 w+  读写,先删除原文件,再重新写入,如果文件没有则创建(可写入和输出) a  写入,在文件末尾追加新的内容,文件不存在则创建 a+  读写,在文件末尾追加新的内容,文件不存在则创建 b  打开二进制文件,可与r,w,a,+结合使用 U  支持所有的换行符号,"\r","\n","\r\n"

Python学习基础篇—文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互拥抱 到底是为了什么 因为我刚好遇见你 留下足迹才美丽 风吹花落泪如雨 因为不想分离 因为刚好遇见你 留下十年的期许 如果再相遇 我想我会记得你 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互

python学习笔记(三):文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 寂寞当然有一点 你不在我身边 总是特别想念你的脸 距离是一份考卷 测量