知行编程网知行编程网  2022-10-01 22:00 知行编程网 隐藏边栏  4 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python os是什么的相关知识,包括python爬虫是什么,以及Python os这些编程知识,希望对大家有参考作用。

python os系统模块使用方法

os模块与目录相关的函数

相关的函数如下:

os.getcwd():获取当前目录。
os.chdir(path):改变当前目录。
os.fchdir(fd):通过文件描述利改变当前目录。该函数与上一个函数的功能基本相似,只是该函数以文件描述符作为参数来代表目录。

下面程序测试了与目录相关的函数的用法:

import os

# 获取当前目录
print(os.getcwd())  # G:\publish\codes\12.7
# 改变当前目录
os.chdir('../12.6')
# 再次获取当前目录
print(os.getcwd())  # G:\publish\codes\12.6

上面的程序演示了使用getcwd()获取当前目录,也演示了使用chdir()改变当前目录。

os.chroot(path):改变当前进程的根目录。

os.listdir(path):返回 path 对应目录下的所有文件和子目录。

os.mkdir(path[, mode]):创建path对应的目录,其中mode用于指定目录的权限。 mode参数代表一个UNIX风格的权限,比如0o777代表所有者可读/可写/可执行,组用户可读/可写/可执行,其他用户可读/可写/可执行。

如下程序示范了如何创建目录:

import os
path = 'my_dir'
# 直接在当前目录下创建目录
os.mkdir(path, 0o755)
path = "abc/xyz/wawa"
# 递归创建目录
os.makedirs(path, 0o755)

正如从上面代码所看到的,直接在当前目录下创建 mydir 子目录,因此可以使用 mkdir() 函数创建;需要程序递归创建 abc/xyz/wawa 目录,因此使用 makedirs() 函数。os.rmdir(path):删除 path 对应的空目录。如果目录非空,则抛出一个 OSError 异常。程序可以先用 os.remove() 函数删除文件。os.removedirs(path):边归删除目录。其功能类似于 rmdir(),但该函数可以递归删除 abc/xyz/wawa 目录,它会从 wawa 子目录开始删除,然后删除 xyz 子目录,最后删除 abc 目录。

如下程序示范了如何删除目录:

import os

path = 'my_dir'
# 直接删除当前目录下的子目录
os.rmdir(path)
path = "abc/xyz/wawa"
# 递归删除子目录
os.removedirs(path)

上述程序第5行代码使用rmdir()函数删除当前目录下的my_dir子目录,不会进行递归删除;第8行代码使用removedirs()函数删除abc/xyz/wawa目录,会递归执行delete,会先删除wawa子目录,再删除xyz子目录,最后删除abc目录。

os.rename(src, dst):重命名文件或目录,将 src 重名为 dst。

os.renames(old, new):递归重命名文件或目录。它的功能类似于rename(),但是这个函数可以递归地重命名abc/xyz/wawa目录,它会从wawa子目录开始重命名,然后重命名xyz子目录,最后重命名abc目录。

如下程序示范了如何重命名目录:

import os

path = 'my_dir'
# 直接重命名当前目录下的子目录
os.rename(path, 'your_dir')
path = "abc/xyz/wawa"
# 递归重命名子目录
os.renames(path, 'foo/bar/haha')

os模块与权限相关的函数

与权限相关的函数如下:

os.F_OK:判断是否存在。

os.R_OK:判断是否可读。

os.W_OK:判断是否可写。

os.X_OK:判断是否可执行。

例如如下程序:

import os

# 判断当前目录的权限
ret = os.access('.', os.F_OK|os.R_OK|os.W_OK|os.X_OK)
print("os.F_OK|os.R_OK|os.W_OK|os.X_OK - 返回值:", ret)
# 判断os.access_test.py文件的权限
ret = os.access('os.access_test.py', os.F_OK|os.R_OK|os.W_OK)
print("os.F_OK|os.R_OK|os.W_OK - 返回值:", ret)
os.F_OK|os.R_OK|os.W_OK|os.X_OK - 返回值:True
os.F_OK|os.R_OK|os.W_OK - 返回值:False

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1 最后编辑于:2022-10-02
这个人很懒,什么都没写
扫一扫二维码分享