python os模块详细用法

Posted python学习者0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python os模块详细用法相关的知识,希望对你有一定的参考价值。

os 模块提供了非常丰富的方法用来处理文件和目录

os关于目录路径的方法

# 获取当前路径
path = os.getcwd()

# 获取当前绝对路径
os.path.abspath(path)
 
# 创建一级目录
os.mkdir(path)

# 删除空目录
os.rmdir(path)

# 创建多级目录
os.makedirs(path)

# 删除多级空目录
os.removedirs(path)

# 修改路径为path
os.chdir(path)

包含知识点

  • rmdir的path,如果目录非空,则抛出一个OSError异常
  • 多级目录是指 /test/testing/test,如果三个目录都不存在则都会创建

os关于文件的方法

# 获取当前路径下所有文件、文件夹
os.listdir(path)

# 创建文件方式一
f = os.open(path + "test.txt", flags=os.O_CREAT | os.O_RDWR )

# 写入文件
os.write(f, bytes("123",encoding="utf-8"))

# 读取文件
print(os.read(f,12))

# 关闭文件
os.close(f)

# 重命名文件
os.rename(path + "test.txt", path + "tests.txt")

# 删除文件
os.remove(path + "tests.txt")
# 递归返回path下的目录(包括path目录)、子目录、文件名的三元组
for root, dirname, filenames in os.walk(path):
    logzeros.debug(root)
    logzeros.debug(dirname)
    logzeros.debug(filenames)

包含知识点

  • listdir 返回的是一个列表,若没有文件则返回空列表

  • os.write(fd, str) 用于写入bytes字符串到文件描述符 fd 中. 返回实际写入的字符串长度

  • os.read(fd,n) 用于从文件描述符 fd 中读取最多 n 个字节,返回包含bytes字符串

os.path相关

os.path.realpath(__file__)

获取当前文件所在目录

path = os.path.realpath(__file__)
print(path)

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\os_path_learn.py

os.path.abspath(path)

获取当前path所在路径

#Python学习交流群:725638078
path = os.path.abspath(".")
print(path)

path = os.path.abspath(os.path.realpath(__file__))
print(path)

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn
C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\os_path_learn.py

第一行代码跟 os.getcwd() 很像

path = os.getcwd()
print(path)

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn

os.path.dirname(path)
返回path的所在目录的路径

print(os.path.dirname(r\'C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\os_path_learn.py\'))

print(os.path.dirname(r\'C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\'))

# 表示获取当前文件所在目录的上一级目录,即项目所在目录C:\\Users\\user\\Desktop\\py\\moocInterface
print(os.path.dirname(os.path.abspath(\'.\'))) 

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn
C:\\Users\\user\\Desktop\\py\\moocInterface
C:\\Users\\user\\Desktop\\py\\moocInterface

os.path.split(path)
分离文件名和扩展名,返回(filename文件名,fileextension文件扩展名)二元组

# 目录
os.path.split(os.getcwd())

# 文件
os.path.split(os.path.realpath(__file__))

运行结果

(\'C:\\\\Users\\\\user\\\\Desktop\\\\py\\\\moocInterface\', \'learn\')
(\'C:\\\\Users\\\\user\\\\Desktop\\\\py\\\\moocInterface\\\\learn\', \'os_path_learn.py\')

os.path.join()
用于路径拼接,将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

#Python学习交流群:725638078
# 拼接目录
new_path = os.path.join(os.getcwd(), "test")
print(new_path)

# 拼接文件
new_path = os.path.join(os.getcwd(), "test.txt")
print(new_path)

# 拼接多重目录
new_path = os.path.join(os.getcwd(), "test/test/test")
print(new_path)

# 拼接多个目录、文件
new_path = os.path.join(os.getcwd(), "test", "Test", "ok.txt")
print(new_path)

运行结果

C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\test
C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\test.txt
C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\test/test/test
C:\\Users\\user\\Desktop\\py\\moocInterface\\learn\\test\\Test\\ok.txt

结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web

Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web

python中os模块和sys模块的常见用法

OS模块的常见用法

os.remove()   删除文件

os.rename()   重命名文件

os.walk()    生成目录树下的所有文件名

os.chdir()    改变目录

os.mkdir/mkdirs   创建目录/多层目录

os.rmdir/removedirs    删除目录/多层目录

os.listdir()   列出指定目录的文件

os.getcwd()    取得当前工作目录

os.chmod()    改变目录权限

os.path.basename()   去掉目录路径,返回文件名

os.path.dirname()   去掉文件名,返回目录路径

os.path.join()    将分离的个部分组合成一个路径名

os.path.split()    返回(dirname(),basename())   元组

os.path.splittesxt()    返回 ( filename,extension )   元组

os.path.getatimectimemtime      分别返回最近访问、创建、修改时间

os.path.getsize()    返回文件大小

os.path.exists()   是否存在

os.path.isabs()    是否为绝对路径

os.path.isdir()    是否为目录

os. path.isfile()   是否为文件

SYS模块的常见用法

sys.argv  命令行参数List,第一个元素是程序本身路径

sys.modules.keys()  返回所有已经导入的模块列表

sys.exc_info()   获取当前正在处理的异常类,exc_type,exc_value,exc_traceback  当前处理的异常详细信息

sys.exit(n)    退出程序,正常退出时exit(0)

sys.hexversion     获取python解释程序的版本值,16 进制格式如:0x020403F0

sys.version      获取python解释程序的版本信息

sys.maxint     最大的int值

sys.maxunicode    最大的Unicode 值

sys.modules   返回系统导入的模块字段。key是模块名,value是模块

sys.path 返回模块的搜索路径,初始化时使用pythonpath环境变量的值

sys.platform    返回操作系统平台名称

sys.stdout  标准输出

sys.stdin   标准输入

sys.stderr   错误输出

sys.exc_clear()   用来清楚当前线程所出现的当前的或最近的错误信息

sys.exec_prefix   返回平台独立的python文件安装的位置

sys.byteorder   本地字节规则的指示器,bin-endian  平台的值是‘big’,little-endian 平台的值是‘little’

sys.copyright  记录python版权相关的东西

sys.api-version  解释器的 C 的API版本

sys.version_info    元组则提供一个更简单的方法来使你的程序具备python版本要求功能

以上是关于python os模块详细用法的主要内容,如果未能解决你的问题,请参考以下文章

python中os库用法详解(总结)

python中os模块和sys模块的常见用法

Python之os模块的常见用法

python 之os模块用法大全

python中os模块用法大全

python os 模块