Python基础知识(15):文件

本文介绍了Python中文件的编码格式,包括内存中的Unicode和磁盘上的UTF-8。接着详细讲解了文件的读写操作,如open()函数,文本与二进制文件的区别,以及read、write、seek等常用方法。此外,还阐述了with语句在资源管理中的作用。最后,探讨了目录操作,包括os模块的功能,如getcwd、mkdir、chdir等,以及os.path和walk方法在处理路径和遍历目录时的应用。
摘要由CSDN通过智能技术生成

一、编码格式

1.Python的解释器使用的是Unicode(内存)。
2…py文件在磁盘上使用的是UTF-8(外存)。

二、文件的读写

(一)创建:open()

f  = open(filename[, mode, encoding])
# f:对象
# open:函数
# filename:要创建或打开的文件名
# mode:打开模式,默认只读
# encoding:默认文本文件中字符的编码格式为GBK
f.readline()# 返回列表

(二)文件类型

1.文本文件:默认为Unicode字符集,可用记事本打开。
2.二进制文件:数据内容用字节存储,无法用记事本打开,需用专用的软件打开,如:jpg、doc等格式。
3.

符号作用
r只读,指针在文本开头
w只写,指针在开头,写入内容覆盖原内容
a追加模式,指针在开头,当有内容时,从末尾添加,指针在原文件末尾
b二进制方式打开,需与r或w一起使用(rb、wb),不可单独使用
+以读写方式打开文件,需与其他模式一起使用,如a+

(三)常用方法

1.read([size]):读取size个字符,若省略[size]则为全部。
2.readline():读一行。
3.readlines():以行为间隔全部读取为一个列表。
4.write(str):将str写入文件。
5.writelines(s_list):将s_list写入文件,不添加换行符。
6.seek(offset[, whence]):把指针移动到新位置。(以字节的形式)
注:offset表示相对于whence的位置。offset为正往结束方向移动,为负往开始方向移动。whence为0表示从开头开始计算(默认值),为1从当前位置计算,为2从文件末尾开始计算。
7.tell():指针当前位置。
8.flush():缓冲区内容写入文件,但不关闭文件。
9.close():缓冲区内容写入文件,同时关闭文件,释放资源。

三、with语句

自动管理上下文资源,不论什么原因跳出with块,都能保证文件正确关闭,以此来达到释放资源的目的。

with open('a.txt', 'r') as f:
	print(f.read())

四、目录操作

(一)os

import os
os.system('notepad.exe') # 打开记事本
os.system('calc.exe') # 打开计算器
# 调用可执行文件
os.startfile('C:\\Program Files\\Tencent\\QQ\\Bin\\qq.exe')

其他操作:
getcwd():返回当前工作目录。
listdir(path):返回指定路径下的文件和目录信息。
mkdir(path[, mode]):创建目录。
makedirs(path1/path2/…[, mode]):创建多级目录。
rmdir(path):删除目录。
removedirs(path1/path2…):删除多级目录。
chdir(path):将path设置为当前工作目录。

(二)os.path

abspath(path):获取文件或目录的绝对路径。
exists(path):判断文件或目录是否存在,在则返回True,否则False。
join(path, name):将目录与目录或文件名拼接。
splitext():分离文件名和扩展名,split()是分离路径和文件名。
basename(path):从目录中提取文件名。
dirname(path):从路径中提取文件路径,不包括文件名。
isdir(path):判断是否为路径。

(三)walk

遍历目录下所有文件。

import os
path = os.getcwd()
list_file = os.walk(path)
for dirpath, dirname, filename in list_file:
	print(dirpath, dirname, filename)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值