阅读本文需要2.5分钟
格式:open('文件路径','打开模式')
返回值:文件io对象
打开模式一共N种:
w模式 写模式write 文件不存在时会创建文件,如果文件已存在则会清空文件
r模式 读模式read 文件不存在就报错,存在则准备读取文件
a模式 追加模式 append 文件不存在则新建,文件存在则在文件末尾追加内容
x模式 抑或模式 xor 文件存在则报错,文件 不存在则新建文件
b模式 二进制模式 binary 辅助模式不能单独使用
+模式 增强模式plus 也是辅助模式不能单独使用
模式 | 说明 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
格式:文件io对象.close()
返回值:None
# 新建一个文件,文件名为:test.txt
f = open('test.txt', 'w')
# 关闭这个文件
f.close()
格式:文件io对象.read()
返回值:整个文件的字符
格式:文件io对象.read(字符长度)
返回值:指定长度的字符
f = open('test.txt', 'r')
content = f.read(5)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
格式:文件io对象.readline()
返回值:一行内容的字符串
格式:文件io对象.readline(字符长度)
返回值:一行内容的字符串
注意:字符长度<当前行内内容,则读取指定长度的字符串,并且下次再读取还是在
这个一行中获取没有读取的内容。字符长度>=当前行内容,直接读取当前行
#coding=utf-8
f = open('test.txt', 'r')
content = f.readline()
print("1:%s"%content)
content = f.readline()
print("2:%s"%content)
f.close()
格式:文件io对象.readlines()
返回值:列表
格式:文件io对象.readlines(字符长度)
返回值:列表
注意:读取的行数由字符长度决定,如果字符长度读取了N行后,还有指定长度的字符
没有读取,则直接读取下一行进来
#coding=utf-8
f = open('test.txt', 'r')
content = f.readlines()
print(type(content))
i=1
for temp in content:
print("%d:%s"%(i, temp))
i+=1
f.close()
格式:文件io对象.write(字符串)
返回值:写入字符串的长度
格式:文件io对象.writelines(序列)
返回值:None
格式:文件io对象.truncate(字节长度)
返回值:截取的字节长度
import os
序号 | 函数名称 | 描述 | 格式 |
---|---|---|---|
1 | getcwd() | 获取当前的工作目录 | 格式:os.getcwd()返回值:路径字符串 |
2 | chdir() | 修改当前工作目录 | 格式:os.chdir()返回值:None |
3 | listdir() | 获取指定文件夹中的所有文件和文件夹组成的列表 | 格式:os.listdir(目录路径)返回值:目录中内容名称的列表 |
4 | mkdir() | 创建一个目录/文件夹 | 格式:os.mkdir(目录路径)返回值:None |
5 | makedirs() | 递归创建文件夹 | 格式:os.makedirs(路径) |
6 | rmdir() | 移除一个目录(必须是空目录) | 格式:os.rmdir(目录路径)返回值:None |
7 | removedirs() | 递归删除文件夹 | 格式:os.removedirs(目录路径)返回值:None注意最底层目录必须为空 |
8 | rename() | 修改文件和文件夹的名称 | 格式:os.rename(源文件或文件夹,目标文件或文件夹)返回值:None |
9 | stat() | 获取文件的相关 信息 | 格式:os.stat(文件路径)返回值:包含文件信息的元组 |
10 | system() | 执行系统命令 | 格式:os.system()返回值:整型慎用!玩意来个rm -rf 你就爽了! |
11 | getenv() | 获取系统环境变量 | 格式:os.getenv(获取的环境变量名称)返回值:字符串 |
12 | putenv() | 设置系统环境变量 | 格式:os.putenv('环境变量名称',值)返回值:无注意:无法正常的getenv检测到。 |
13 | exit() | 推出当前执行命令,直接关闭当前操作 | 格式:exit() 返回值:无 |
序号 | 函数名称 | 描述 |
---|---|---|
1 | curdir | os.curdir 获取当前路径 都是. |
2 | pardir | os.pardir 获取上层目录路径 都是.. |
3 | path | os.path os中的一个子模块,操作非常多 |
4 | name | os.name 当前系统的内核名称 win->nt linux/unix->posix |
5 | sep | os.sep 获取当前系统的路径分割符号 window -> \ linux/unix -> / |
6 | extsep | os.extsep 获取当前系统中文件名和后缀之间的分割符号,所有系统都是. |
7 | linesep | os.linesep 获取当前系统的换行符号 window -> \r\n linux/unix -> \n |
序号 | 函数名称 | 描述 | 格式 |
---|---|---|---|
1 | abspath() | 将一个相对路径转化为绝对路径 | 格式:os.path.abspath(相对路径)返回值:绝对路径字符串 |
2 | basename() | 获取路径中的文件夹或者文件名称(只要路径的最后一部分) | 格式:os.path.basename(路径)返回值:路径的最后一部分(可能是文件名也可能是文件夹名) |
3 | dirname() | 获取路径中的路径部分(出去最后一部分) | 格式:os.path.dirname(路径)返回值:路径中除了最后一部分的内容字符串 |
4 | join() | 将2个路径合成一个路径 | 格式:os.path.join(路径1,路径2)返回值:合并之后的路径 |
5 | split() | 将一个路径切割成文件夹和文件名部分 | 格式:os.path.split(路径)返回值:元组 |
6 | splitext() | 将一个文件名切成名字和后缀两个部分 | 格式:os.path.splitext(文件名称)返回值:元组 (名称,后缀) |
7 | getsize() | 获取一个文件的大小 | 格式:os.path.getsize(路径)返回值:整数 |
8 | isfile() | 检测一个路径是否是一个文件 | 格式:os.path.isfile(路径)返回值:布尔值 |
9 | isdir() | 检测一个路径是否是一个文件夹 | 格式:os.path.isdir(路径)返回值:布尔值 |
10 | getctime() | 获取文件的创建时间!get create time | 格式:os.path.getctime(文件路径)返回值:时间戳浮点数 |
11 | getmtime() | 获取文件的修改时间!get modify time | 格式:os.path.getmtime(文件路径)返回值:时间戳浮点数 |
12 | getatime() | 获取文件的访问时间!get active time | 格式:os.path.getatime(文件路径)返回值:时间戳浮点数 |
13 | exists() | 检测指定的路径是否存在 | 格式:os.path.exists(路径)返回值:布尔值 |
14 | isabs() | 检测一个路径是否是绝对路径 | 格式:os.path.isabs(路径)返回值:布尔值 |
15 | islink() | 检测一个路径是否是链接 | 格式:os.path.islink(路径)返回值:布尔值 |
16 | samefile() | 检测2个路径是否指向同一个文件 | 格式:os.path.samefile(路径1,路径2)返回值:布尔值 |