文件和目录
1.在Windows系统中,想要获得:D:\python_upday\爬虫\scripy 目录下的文件,我们一般需要分隔符 / 或者 \ ,即 D:/python_upday/爬虫/scripy 或者 D:\python_upday\爬虫\scripy
os模块
python 中的 os 模块具备操作系统所具备的功能,例如查看路径、创建路径、和显示文件目录等等。
os模块中常用的属性
sep | 用于取代操作系统特定的路径跟个符号:\和/ |
---|---|
path | 表示当前os模块所在的路径 |
代码测试
常用函数
在python中os模块下的常用函数分成两类,一类是要用过os.path来调用的函数,另一类是可通过os直接调用的函数。
(1) 通过os.path 来调用的函数
existe(pathname) | 用来检验给出的路径是否存在。 --? 存在:True; 不存在,False |
---|---|
isfile(pathname) | 用来检验给出的路径是否是一个文件。 --是否是文件 |
isdir(pathname) | 用来检验给出的路径是否是一个目录。 |
abspath(pathname) | 获得绝对路径。 |
split(pathname) | 返回一个路径的目录名或文件名。 |
normpath(pathname) | 用来规范 pathname 字符串形式。 |
getsize(pathname) | 用来获得文件大小,若 pathname 是目录,则返回 0L。 |
splitext(pathname) | 分离文件名与扩展名。 |
join(pathname,name) | 连接目录与文件名或目录。 |
basename(pathname) | 返回文件名。 |
dirname(pathname) | 返回文件路径。 |
案例分析
上述代码要注意的是:正常情况下我们的路径是E:\python3.6\python.exe D:/python_upday/信盈达/test/博客test.py,但由于我电脑是W10系统,所以我们要将分割符换成\或者/,才能返回True
print(os.path.isfile('D:\python_upday\信盈达\test\博客test.py'))
(2) 通过os模块直接调用的常见函数
getcwd() | 获得当前工作目录,即当前 Python 脚本工作的目录路径 |
---|---|
system(name) | 运行 shell 命令。 |
stat(path | 获取文件属性。 |
listdir(path) | 返回指定目录下的所有文件和目录名,即获取文件或目录列表。 |
mkdir(path) | 创建单个目录。 |
makedirs(path) | 创建多级目录。 |
remove(path) | 删除一个文件。 |
rmdir(path) | 删除一个目录。 |
rename(old, new) | 重命名文件。 --注意:重命名要写全路径(绝对路径) |
file对象
python操作文本三大步骤:
1.打开文件
2.读取或者写入文件
3.关闭文件
打开文件
open(name[,mode]
注意:mode 指的是访问的模式
mode范文模式 | 描述内容 |
---|---|
r | 以只读方式打开文件,文件的指针将会放在文件的开头,这是默认模式。 |
w | 打开一个文件只用于写入。若该文件已存在,则将其覆盖;若该文件不存在,则创建新文件。 |
a | 打开一个文件用于追加。若该文件已存在,则文件指针将会放在文件的结尾,也就是说,新的 内容将会被写入到已有内容之后;若该文件不存在,则创建新文件并进行写入。 --追加内容 |
rb | 以二进制格式打开一个文件用于只读,文件指针(位置)将会放在文件的开头,这是默认模式 |
wb | 以二进制格式打开一个文件只用于写入。若该文件已存在,则将其覆盖;若该文件不存在,则 创建新文件。 |
ab | 以二进制格式打开一个文件用于追加。若该文件已存在,则文件指针将会放在文件的结尾,也 就是说,新的内容将会被写入到已有内容之后;若该文件不存在,则创建新文件进行写入。 |
r+ | 打开一个文件用于读写,文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。若该文件已存在,则将其覆盖;若该文件不存在,则创建新文件。 |
a+ | 打开一个文件用于读写。若该文件已存在,则文件指针将会放在文件的结尾,当文件打开时会是追加模式;若该文件不存在,则创建新文件用于读写。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开一个文件用于读写。若该文件已存在,则将其覆盖;若该文件不存在,则创 建新文件。 |
ab+ | 以二进制格式打开一个文件用于追加。若该文件已存在,则文件指针将会放在文件的结尾;若 该文件不存在,则创建新文件用于读写。 |
file常用的函数
write([seq]) | 将数据内容写入文件,没有返回值。 --w wb |
---|---|
writelines(sequence) | 向文件内写入一个序列字符串列表,若需要换行,则要开发者自行加入换行符。 |
read([size]) | 从文件读取指定的字节数,若未给定或为负时,则读取所有内容。 |
若不添加 size 参数,则表明读取所有;若添加了 size 参数,则表明就读取 size 长度的 内容。 | |
readline([size]) | 读取整行,包括"\n"字符。 |
readlines([sizeint]) | 读取所有行并返回列表,若给定 sizeint>0,则是设置一次读多少字节,这是为了减轻 读取压力。 |
tell() | 返回文件当前位置。 |
seek(offset[, from]) | 设置文件当前位置。offset 表示偏移量。from 表示方向,通常设定为 0,表示文件开 头 |