从以下几方面介绍:标准库OS的常用命令,文件的打开与关闭,文件的读与写,tell与seek
1、标准库OS常用命令
准备工作:自建一个文件夹,并将当前目录修改为该文件夹
import os
os.getcwd() #查看当前路径
os.chdir("C:/Users/Administrator/Desktop/Phthon") #修改当前路径
os.mkdir("my_filepackage") #建立一个子文件夹,已存在时会报错
os.rmdir("my_filepackage/") #删除一个文件夹,不存在时会报错
os.listdir() #列出当前目录或指定目录下所有文件夹及文件的名称,返回一个列表
os.rename('a.txt','b.py') #修改文件或文件夹名称
os.remove('a.py') #删除一个文件
2、文件的打开与关闭
文件概述:
文件是一个存储在辅助存储器上的数据序列,可以包含任何 数据内容。概念上,文件是数据的集合和抽象,类似地,函 数是程序的集合和抽象。用文件形式组织和表达数据更有效 也更为灵活。文件包括两种类型:文本文件和二进制文件。
二进制文件直接由比特0和比特1组成,没有统一字符 编码,文件内部数据的组织格式与文件用途有关。二进制 文件和文本文件最主要的区别在于是否有统一的字符编码
无论文件创建为文本文件或者二进制文件,都可以用 “文本文件方式”和“二进制文件方式”打开,打开后的 操作不同。
- Python中可通过内置方法open()打开文件,open()方法的声明如下:
open(file, mode=‘r’, buffering=-1)
file一般为文件的路径名
mode用于设置文件的打开方式,默认“r”,表示以只读模式打开文件
buffering用于设置访问文件时采用的缓冲方式,默认-1
可用help(open)查看详细介绍
打开模式 | 含义 |
---|---|
’ r ’ | 只读模式,如果文件不存在,返回异常FileNotFoundError,默认值 |
‘ w ’ | 覆盖写模式,文件不存在则创建,存在则完全覆盖源文件 |
’ x ’ | 创建写模式,文件不存在则创建,存在则返回异常FileExistsError |
’ a ’ | 追加写模式,文件不存在则创建,存在则在原文件最后追加内容 |
’ b ’ | 二进制文件模式 |
’ t ’ | 文本文件模式,默认值 |
’ + ’ | 与r/w/x/a一同使用,在原功能基础上增加同时读写功能 |
文件关闭 f.close()
程序执行完毕后,系统会关闭由该程序打开的文件,但更好的做法是,在文件使用完毕后,由程序调用close()方法关闭文件。
- f.read() #读取全部文件内容,读完一次后,文件指针位于文档最后,再次读内容为空
f.close()
f = open(‘a.txt’, ‘w’)
f.read() #关闭后再打开时,指针又回到文档起点
- read(size)
其中参数size用于指定从文件中读取的数据字节数
Python还提供了一些获取文件读写位置以及操作文件读写位置的方法
1、tell()
>>> f = open("a.txt')
>>> f.tell()
0
>>>f.read(5)
'hello'
>>> f.tell()
5
>>>f.close()
由以上示例可知,打开一个文件后,文件默认的读写位置为0,党对文件进行读写操作后,文件的读写位置也随之移动
2、f.seek()
seek(offset,from)
其中参数offset表示偏移量,即读写位置需要移动的字节数;from用于指定文件的读写位置,该参数的取值:0、1、2
- 0:表示文件开头
- 1:表示使用当前读写位置
- 2:表示文件末尾
写文件:
Python中可通过write()方法向文件中写入数据
- write(str)
其中str表示要写入文件中的字符串,若调用成功则返回本次写入文件中的字节数。