路径
- 绝对路径: 网址URL和磁盘路径
- 相对路径
- 同一个文件夹 “1.txt” “./1.txt”
- 子文件夹 : “bbb/aaa/1.txt”
- 父文件夹: “…/”
递归:
- 函数,自己运行自己, 然后直到不能运行了。然后结束当前运行。
OS库
-
getcwd 返回当前的工作目录
-
chdir() 方法用于改变当前工作目录到指定的路径。
- path – 要切换到的新路径。
-
listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。
-
mkdir :新建文件夹
-
remove : 删除文件, 如果是一个目录名,则报错。
-
rmdir : 删除一个空目录,如果目录非空,则报错。
-
rename :重命名/移动文件路径
- 原始路径
- 目标路径
-
os.walk : 递归显示所有的文件和文件夹
import os
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name)) -
os.path 模块:os.path 模块主要用于获取文件的属性。
- 返回绝对路径:os.path.abspath(path) 当前的工作目录+path
- os.path.basename(path) 返回文件名
- os.path.dirname(path) 返回文件路径
- os.path.isfile(path) 判断path是否为一个文件。 如果是,则返回True。 path必须是绝对路径。
- os.path.exists(path) 判断路径是否存在
- os.path.getatime(path) 返回最近访问时间(浮点型秒数)
- os.path.getmtime(path) 返回最近文件修改时
- os.path.getctime(path) 返回文件 path 创建时间
- os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误
- os.path.join(path1[, path2[, …]]) 把目录和文件名合成一个路径
练习
- 批量修改某文件夹内部的文件名,例如1.txt 变为 1-新建.txt.
- 递归修改某文件夹内部所有子文件夹和文件名。
- 递归删除某文件夹内部所有子文件夹和文件。
作业。
- 查找出所有文件和子文件夹的文件,将文件名中的数字截取出来重命名。