earph0n3's doc Help

OS模块

python内置的 os 模块可以实现对文件本身的操作, 即文件的复制移动删除等, 在使用 os 模块之前需要先导入模块:

import os

python的 os 模块中的方法很多, 在菜鸟教程上都已经列出来了:

菜鸟教程上的os方法

但是常用的一般有这些:

os.getcwd()

  • 相当于linux命令的 pwd

os.getcwd() 方法用于获取当前脚本的工作目录, 返回值是当前的工作目录

pwd = os.getcwd() print(pwd)

这段代码尝试获取文件当前的工作目录并将其打印出来

os.listdir(path)

  • 相当于linux命令的 ls

使用 os.listdir(path) 方法可以列出指定目录下的所有文件, 并返回一个包含所有文件名和文件夹名的列表, 参数 path 就是指定目录的路径

指定目录的路径可以是绝对路径也可以是相对路径

# 使用相对路径, 打印当前目录下的所有文件名 os.listdir("./") # 使用绝对路径, 打印用户根目录下所有文件名 os.listdir("C:/Users/earph/")

os.mkdir(path, [mode])

  • 相当于linux命令的 mkdir

使用 os.mkdir(path, [mode]) 方法可以创建一个目录, 其中参数 path 就是需要创建的目录路径, 参数 mode 是可选的, 代表这个目录的权限, 默认是 0777

path 可以使用相对路径, 也可以使用绝对路径

os.mkdir("D:/mydir", 0775)

这段代码尝试在D盘根目录下创建一个权限为 0755 的目录

os.remove(path)

  • 相当于linux命令的 rm

使用 os.remove(path) 方法可以删除指定目录下的特定文件, 其中参数 path 就是需要删除的文件路径

path 可以使用相对路径, 也可以使用绝对路径

os.remove("D:/test.txt")

这段代码尝试删除D盘根目录下的文件 test.txt

os.rmdir(path)

  • 相当于linux命令的 rmdir, 只能用于删除空目录

使用 os.rmdir(path) 可以删除指定的空目录, 其中参数 path 就是需要删除的空目录的路径, 如果目录非空就会报错

os.rmdir("D:/mydir")

这段代码尝试删除刚刚新建的一个空目录 mydir

os.removedirs(path)

  • 相当于linux命令的 rm -r

使用 os.removedirs(path) 方法可以递归删除指定目录, 包括其目录下的所有子目录以及文件, 其中参数 path 就是需要整个删除的目录

os.removedirs("D:/mydir")

这段代码尝试删除D盘根目录下 mydir 中的所有内容, 包括这个目录本身(无论其中是否有文件)

os.rename(src, dst)

  • 相当于linux命令的 mv -n

使用 os.rename(src, dst) 方法可以重命名文件或目录, 不会覆盖文件, 其中参数 src 是源文件的路径, 参数 dst 是目标路径

os.rename("./tes1.txt", "./test2.txt")

这段代码尝试把当前目录下的 test1.txt 重命名为 test2.txt

os.replace(src, dst)

  • 相当于linux命令的 mv

os.replace(src, dst) 的用法和 os.rename(src, dst) 用法相同, 唯一的区别是如果目标路径下已经有一个同名的目标文件, 会被直接覆盖(毕竟叫replace)

from pwn import *
11 十一月 2024