【Python】os 模块 _ 文件和目录简单操作
获取路径
获取当前路径
print("获取当前执行文件路径:", os.getcwd()) print("'.'表示当前路径:", os.curdir) print("获取当前执行文件绝对路径:", os.path.abspath(".")) print("获取当前执行文件绝对路径:", os.path.realpath(".")) print("获取当前执行文件路径名", os.path.abspath("tmp.py")) print("获取当前执行文件路径名", os.path.realpath("tmp.py")) print("获取文件相对于start的相对路径:", os.path.relpath("tmp.py", start=os.path.abspath("..")))
执行结果
# 获取当前文件的绝对路径
print(__file__)
获取当前目录上一级路径
# 方法一:直接获取 print("获取当前目录上一级目录路径:", os.path.abspath("..")) print("获取当前目录上一级目录路径:", os.path.realpath("..")) print("获取当前目录上一级目录路径:", os.path.dirname(os.getcwd())) # 方法二:变更当前路径 # str(os.chdir("..")) # str(os.chfdir("..")) # print("变更后当前路径:", os.getcwd())
执行结果
路径名
# 路径拆分 print("目录及文件名/文件夹名列表 :", os.path.split(os.getcwd())) print("获取路径中的目录(等价split中取值[0]):", os.path.dirname(os.getcwd())) print("获取路径中的文件名/文件夹名(等价split中取值[1]):", os.path.basename(os.getcwd()))
执行结果
获取文件
获取文件信息
print("指定文件大小:", os.path.getsize(os.path.relpath("tmp.py"))) print("返回指定目录中所有文件列表,顺序不固定,且不包含‘.’和‘..’", os.listdir()) print("目录或文件递归重命名:", os.renames("ftp_tarFile.py", "bagTarFile.py")) print("获取当前文件名 ", os.path.basename(__file__)) print("提取字符串(路径格式)中最后一个文件名或目录名 ", os.path.basename("c://test/t.py"))
执行结果
os.walk() 方法是一个简单易用的文件、目录遍历器
# 遍历目录下文件生成列表 for root, dirs, files in os.walk(image_file_path): # 从目录中获取到的文件list print("root 表示当前正在访问的文件夹路径:%s" % root) print("dirs 表示该文件夹下的子目录名list:%s" % dirs) print("files 表示该文件夹下的文件list:%s" % files) # 遍历文件 for f in files: print("files 表示该文件夹下的文件list:%s" % f)
执行结果
#获取当前python程序
sys.executable
获取程序启动文件名
os.path.basename(sys.argv[0])
# 获取程序启动文件的绝对路径
print(sys.argv[0])
判断
print("判断是否为目录:", os.path.isdir(os.getcwd())) print("判断是否为文件:", os.path.isfile(os.getcwd())) print("判断文件/目录是否存在:", os.path.exists("json")) print("判断是否为链接:", os.path.islink("json")) print("判断是否为同一文件/目录:", os.path.samefile(os.getcwd(), os.path.abspath(os.curdir)))
执行结果
-------------------------------------------------------------------------------------
如果万事开头难 那请结局一定圆满 @ Phoenixy
-------------------------------------------------------------------------------------