Python编程:os模块

简介: Python编程:os模块

os属性

import os
print(os.curdir) # 当前目录 .
print(os.pardir) # 父目录 ..
print(os.name)  # 平台名称 win nt linux posix
print(os.sep)  # separator路径分隔符win \\ linux /
print(os.linesep) # 行终止符 win \r\n  linux \n
print(os.pathsep)  # 分隔文件路径 ;
print(os.extsep)  # extension扩展名 .

os方法

import os
print(os.getcwd())  # 返回当前工作目录
print(os.chdir( r"dir" ))  # 改变工作目录,相当于shell下cd
os.makedirs("dir1/dir2")  # 生成多层递归目录,存在则无法创建
os.removedirs("dir1/dir2")  # 递归删除空目录
os.mkdir("dirname")  # 生成单级目录,存在则无法创建
os.rmdir("dirname")  # 删除单级空目录,不为空则无法删除
print(os.listdir())  # list返回指定目录下所有文件和子目录,包括隐藏文件
os.remove("file.txt") # 删除一个文件
os.rename("oldname", "newname")  # 重命名文件/目录
os.system("ipconfig /all")  # 运行shell命令,直接显示
print(os.environ) # 返回系统环境变量

path模块


import os
print(os.path.abspath("file.txt"))  #返回绝对路径
print(os.path.split("dirname/file.txt"))  #tuple分隔目录和文件名
print(os.path.splitext("file.txt"))  #tuple分隔文件名和扩展名  (file, .txt)
print(os.path.dirname("dirname/file.txt"))  #返回目录
print(os.path.basename("dirname/file.txt")) # 返回文件名
print(os.path.join("dir","file.txt")) # 返回一个组合路径
print(os.path.exists("file.txt")) # bool判断文件是否存在
print(os.path.isabs("file.txt")) # bool判断是否为绝对路径
print(os.path.isfile("file.txt")) # bool判断是否为一个文件
print(os.path.isdir("dir")) # bool判断是否为一个目录
print(os.stat("file.txt"))  # tuple获取文件/目录信息
print(os.path.getatime("file.txt")) # 时间戳,返回最后存取时间
print(os.path.getmtime("file.txt")) # 时间戳,返回最后修改时间
# 时间戳转为格式化时间字符串
# time.strftime("%Y-%m-%d %H:%M:%S",time.localtime("timestamp")

遍历所有文件和文件夹


import os
# 游走目录树
for root, dirs, files in os.walk("."):
    for file in files:
        print(os.path.join(root, file))
    for dir in dirs:
        print(os.path.join(root, dir))

help(os)

all functions from posix, nt or ce, e.g. unlink, stat, etc.

os.path is either posixpath or ntpath

os.name is either ‘posix’, ‘nt’ or ‘ce’.

os.curdir is a string representing the current directory (‘.’ or ‘:’)

os.pardir is a string representing the parent directory (‘..’ or ‘::’)

os.sep is the (or a most common) pathname separator (‘/’ or ‘:’ or ‘\’)

os.extsep is the extension separator (always ‘.’)

os.altsep is the alternate pathname separator (None or ‘/’)

os.pathsep is the component separator used in $PATH etc

os.linesep is the line separator in text files (‘\r’ or ‘\n’ or ‘\r\n’)

os.defpath is the default search path for executables

os.devnull is the file path of the null device (‘/dev/null’, etc.)

相关文章
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
319 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
345 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
276 103
|
3月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
206 82
|
2月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
219 3
|
2月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
483 3
|
2月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
300 3
|
3月前
|
安全 Python
告别 os.path 的繁琐:拥抱 Python 的 pathlib
告别 os.path 的繁琐:拥抱 Python 的 pathlib
433 6
|
2月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
312 0
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的多面手
Python:现代编程的多面手
93 0