Python基础:文件的操作

一、python可以在不导入任何模块的情况下对文件完成读、写、追加,替换(稍复杂)。

二、打开文件:

1、f = open(‘text.txt‘)

这种方式打开,操作完后需要使用f.colse()关闭。

2、with open(‘text.txt‘) as f:

这种方式打开,运行完系统自动关闭,回收内存。建议使用。

三、文件打开模式:

python操作文件的时候,默认是只读的,需要指定各种模式才能进行相应的操作,模式列表:

r 以只读方式打开文件 r+ 先读,再写模式
rb 以二进制格式只读打开,图片,视频等文件 rb+ 二进制格式,先读再写
a 以追加格式打开f.write(),在最后一行追加,文件不存在,创建文件。 a+ 以读写格式打开f.write(),在最后一行追加,文件不存在,创建文件。
ab 和a区别于,二进制 ab+ 和ab区别于,二进制
w 写模式创建新文件,覆盖原文件,不可读 w+ 写读模式,先写再读,创建新文件,覆盖原文件
wb 和w区别于,二进制 wb+ 和wb区别于,二进制

四、文件的常用方法:

f.read(num) 默认读取整个文件,num可以设置设取的数据的大小(英文字符个数)
f.readlines(num) 默认读取整个文件,并以行为分隔符,返回值是一个列表,每行为一个元素
f.readline(num) 每次运行读取一行,最节省空间
f.write(str) 向文件写入数据,str必须是字符串类型。
f.tell() 显示当前指针位置,使用next()方法时不能使用tell()
f.seek(num) 设置指针位置,f.seek(0)文件开始,
f.flush() 强制把内存数据写入到文件。默认程序运行结束才写入
next(f)
逐行读取文件,f是打开的文件对象,不能与tell()同时用,一般迭代器用

print(read_file.tell())
OSError: telling position disabled by next() call

f.close() 关闭打开的文件,清除内存

例子1:

#假设文件test.txt内容如下
‘‘‘
0=000
1=100
2=200
3=300
4=400
5=500
6=600
7=700
8=800
‘‘‘
#1# 最省空间,最快的读取方式
# read_file.readline(),每运行一次,自动读取下一行
with open(‘file_text1.text‘, ‘r‘) as read_file:
    f = read_file.readline()
    while f:                   # 在条件判断中,None和False都是False,其余为True,欢迎补充
        print(f, end=‘‘)              
        f = read_file.readline()
# 注意end,因为readline()读取包含换行符,print默认也加空行符,所以会出现空一行

#2# 其它方法组合操作
with open(‘file_text1.text‘, ‘r‘) as read_file:
    f = read_file.read(5)
    print(f)                    # 运行结果是0=000
    print(read_file.tell())     # 当前位置是5
    read_file.seek(22)          # 将指针移动到22
    print(read_file.readlines())# ‘=300\n‘ 从位置22开始以行为元素,组成一个列表

例子2:

正常情况下,文件正常关闭时才把内存文件写入,使用flush()可以把立即写入文件。

使用with语句,只要跳出语句块,自动关闭文件。

# input在with里面
d = {}
with open(‘file_text1.txt‘, ‘w‘) as file:
    for i in range(20):
        file.write(str(i) + ‘=‘ + str(i)+‘00\n‘)
    s=input(‘-----停止!文件未关闭,找不到file_text1.txt-----:‘)
    
    
# 把input移动到with外面    
d = {}
with open(‘file_text1.txt‘, ‘w‘) as file:
    for i in range(20):
        file.write(str(i) + ‘=‘ + str(i)+‘00\n‘)
s=input(‘-----停止!文件正常关闭,可以找到file_text1.txt-----:‘)

# 使用flush(),可以打开‘file_text1.txt‘,每行都会立即写入
d = {}
with open(‘file_text1.txt‘, ‘w‘) as file:
    for i in range(20):
        file.write(str(i) + ‘=‘ + str(i)+‘00\n‘)
        file.flush()
        s=input(‘-----停止!有文件,有内容-----:‘)

例子3:

修改文件:

文件只有读,写,追加,没有修改方法。

如果要修改只能读取到内存修改再覆盖回去。

对于大文件,这种方法十分占内存,可能会造成死机。

所以,按行读取,修改后存入临时文件,是一个好方法!

temp_file, source_file = ‘temp_info.txt‘, ‘info.txt‘
# 同时打开两个文件
with open(temp_file, ‘w‘, encoding=‘utf-8‘) as temp_file_write,        open(source_file, ‘r‘, encoding=‘utf-8‘) as file_read:
        file_read_line = file_read.readline()
        while file_read_line:
            temp_file_write.write(file_read_line)
            file_read_line = file_read.readline()
            
            
# 然后再把上面的temp_file和suorce_file换个位置,写回去就好了,是不是发现点什么?仔细思考吧:)
时间: 2024-11-08 22:06:18

Python基础:文件的操作的相关文章

python基础-文件读写'r' 和 'rb'区别

一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据.'w':表示要向文件写入数据,并截断以前的内容'a':表示要向文件写入数据,添加到当前内容尾部'r+':表示对文件进行可读写操作(删除以前的所有数据)'r+a':表示对文件可进行读写操作(添加到当前文件尾部)'b':表示要读写二进制数据 2.读文件 进行读文件操作时,直到读到文档结束符(EOF)才算读取到文件最后,Python会认

python进阶--文件读写操作

Python读写文件 1. open 使用open打开文件后一定要记得调用 文件对象的close()方法.比如可以用try --finally语句来确保最后能关闭文件. >>>f1 = open('thisfile.txt') >>>try: f1.read() finally: f1.close() 2. 读文件(read,readline,readlines) ①读文本文件 input = open('data','r') input.read() ②读二进制文件

python基础(文件输入/输出 内建类型 字典操作使用方法)

本文主要介绍了python基础入门,包括文件输入/输出.内建类型.字典操作等使用方法 一.变量和表达式 代码如下: >>> 1 + 1 2>>> print 'hello world' hello world>>> x = 1               >>> y = 2>>> x + y3 Python是强类型语言,无法根据上下文自动解析转换成合适的类型. Python是一种动态语言,在程序运行过程中,同一个变量

课堂笔记:Python基础-文件操作

对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧明. 白首为功名,旧山松竹老,阻归程. 欲将心事付瑶琴. 知音少,弦断有谁听. f = open('小重山') #打开文件 data=f.read()#获取文件内容 f.close() #关闭文件 注意 :在Windows系统中,hello文件是utf8保存的,打开文件时open函数是通过操作系统打开的文件,而win操

Python基础-文件操作

1. 文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 语法 open(filename, mode) 实例 2. 文件打开模式 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:   不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可追加] w+,写读 a+,同a "U"表示在读取时,可以将 \r \n \r\n自动转换

python对文件的操作

一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件和目录名:os.listdir() 3.函数用来删除一个文件:os.remove() 4.删除多个目录:os.removedirs(r"c:\python") 5.检验给出的路径是否是一个文件:os.path.isfile() 6.检验给出的路径是否是一个目录:os.path.isdir(

Python 之文件读写操作

Python 读写文件:   1.打开文件 使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示: 使用到的模式(mode)有: r    以渎方式打开文件,可读取文件信息 w    以血方式打开文件,可向文件写入信息.如果文件存在,则清空文件内容,在写入内容. a    以追加模式打开文件(一打开文件,文件指针自动移动到文件末尾),如果文件不存在则创建 r+    以读方式打开文件,可对文件执行读去和写入的操作 w+

python基础-文件处理与函数

1. 文件处理 1.1 文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 1.2 文件读取模式r r文本模式的读,在文件不存在,不会创建新文件 f = open('a.txt','r',encoding='utf-8') f.readable() # 判读文件是否可读 f.writable() # 判读文件是否可写 f.readline() # 一次读取一行 f.readlines() # 一次读取所有值 f.close()  1.3 文件读取模

【Python】文件读写操作

Python的文件读写有点类似php的文件读写.php的文件读写已经在<[php]让记事本成为你调控变量的控制台>(点击打开链接)说过了,以下用一个小样例说明Python的文件读写. 在F盘原本是没有f:\你好.txt这个文件的,我们要把用户在Python控制台输入的内容,搞到这个文件上去.本程序在Eclipse下的Pydev编译通过没有乱码.Windows控制台cmd的乱码问题请參考<[Python]遍历某文件夹下的全部文件夹与文件的路径.输出中文乱码问题>(点击打开链接).程序

python之文件的操作

一,文件操作基本流程. 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统.操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,可以将自己的数据永久保存下来. 有了文件的概念,我们无需再去考虑操作硬盘的细节,只需要关注操作文件