21天学习挑战赛Python学习第三篇:os 标准库

Posted Goodric

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了21天学习挑战赛Python学习第三篇:os 标准库相关的知识,希望对你有一定的参考价值。

​【21天学习挑战赛】Python学习第三篇:os 标准库

活动地址:CSDN21天学习挑战赛

——

介绍

os模块提供了多数操作系统的功能接口函数。
当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。

功能

系统相关变量和操作
文件和目录相关操作
路径相关操作

——

一、系统相关变量和操作

os.name 的使用

返回操作系统类型:Windows 返回nt; Linux 返回posix

import os
print(os.name)

——

os.environ的使用

返回系统的环境变量

import os
print(os.environ)

环境变量,即在 "计算机"属性,“高级设置”,"环境变量中"可进行查看或编辑。

import os
print(os.environ.get('PATH'))

通过key值获取环境变量对应的value值。

——

os.sep的使用

返回用于系统路径的分隔符;Windows系统通过是 \\ , Linux类系统如Ubuntu的分隔符是/

import os
print(os.sep)

这里给的Windows系统是 \\ ,在编程过程中 \\ 好像会被转义,我似乎习惯于/

——

os.linesep的使用

返回文件换行的分隔符

import os
print(os.linesep)

我这里python3运行结果是一篇空白的,没有显示字符。应该是换行符 '\\r\\n'

——

os.getcwd的使用

返回当前工作的目录路径,即正在运行的这个python文件的路径。

import os
print(os.getcwd())

——

二、文件和目录相关操作

os.listdir(path)的使用

返回指定目录下的所有文件和目录名。在需要对一个文件夹下所有文件进行操作的情况下可使用,比如读取某一文件夹下所有文件的文件内容。

import os
print(os.listdir("."))

"."表示当前路径,也可以查看其它路径的文件,比如上一级路径,用"../"

——

os.mkdir(path)的使用

创建一个目录,只创建一个目录文件。

import os
os.mkdir(r"E:/desktop/test")

执行代码后,在桌面就创建一个 test 文件夹。

——

os.rmdir(path)的使用

删除个空目录。 若目录中有文件则无法删除。

删除刚刚创建的test 文件夹

import os
os.rmdir(r"E:/desktop/test")

——

os.remove(path) 的使用

删除path指定的文件,不能删除文件夹

import os

print(os.listdir(r"E:/desktop/test"))
os.remove(r"E:/desktop/test/1.txt")
print("删除后的目录文件:")
print(os.listdir(r"E:/desktop/test"))

——

os.makedirs(dirname) 的使用

可以生成多层递归目录。如果目录全部存在,则创建目录失败。

import os

print(os.listdir(r"E:/desktop/test"))
os.makedirs(r"E:/desktop/test/test1/test2")
print(os.listdir(r"E:/desktop/test"))
print(os.listdir(r"E:/desktop/test/test1"))

原本test 目录下没有文件夹,然后我用os.makedirs创建了多级目录,即原本test文件夹下只有一个2.txt文件,通过创建多了test1文件夹,test1文件夹下还有test2文件夹。

——

os.removedirs(dirname) 的使用

可以删除多层递归的空目录,若目录中有文件则无法删除

import os

print(os.listdir(r"E:/desktop/test"))
os.removedirs(r"E:/desktop/test/test1/test2")
print(os.listdir(r"E:/desktop/test"))

test1文件夹删除了,test1里面的test2文件夹也删除了。

——

os.chdir(path) 的使用

切换当前工作的目录路径

import os

print(os.getcwd())
os.chdir(r"E:/desktop/test")
print(os.getcwd())

执行之后并不是说文件移动到其它目录路径了,文件还是在原地址。
暂时还不知道这个功能具体用在什么地方。

——

os.rename(旧文件名,新文件名) 的使用

重命令名目录名或者文件名。重命名后的文件名已存在,则重命名失败。

import os

print(os.listdir(r"E:/desktop/test"))
os.rename(r"E:/desktop/test/2.txt",r"E:/desktop/test/3.txt")
print(os.listdir(r"E:/desktop/test"))

将2.txt重命名为3.txt

——

三、路径相关操作

os.path.getsize(path) 的使用

获得文件大小,输出字节,如果name是目录返回0L

import os
print(os.path.getsize(r"E:/desktop/test/3.txt"))
print(os.path.getsize(r"E:/desktop/test"))

——

os.path.getctime(path) 的使用

获取文件创建时候的时间戳

import os
print(os.path.getctime(r"E:/desktop/test/3.txt"))

——

os.path.getatime(path) 的使用

获取文件最后修改时候的时间戳

import os
print(os.path.getatime(r"E:/desktop/test/3.txt"))

——

os.path.join(path,name) 的使用

连接目录与文件名或目录

import os
print(os.path.join(r"E:\\desktop\\test","3.txt"))

——

os.path.exists(path) 的使用

判断文件或者目录是否存在。存在则返回True;否则返回False

import os
print(os.path.exists(r"E:\\desktop\\test\\3.txt"))
print(os.path.exists(r"E:\\desktop\\test\\2.txt"))

——

os.path.isfile(path) 的使用

判断是否为文件。是文件则返回True;否则返回False

import os
print(os.path.isfile(r"E:\\desktop\\test\\3.txt"))
print(os.path.isfile(r"E:\\desktop\\test"))

3.txt是文件,test是文件夹

——

os.path.isdir(path) 的使用

判断是否为目录。是目录则返回True,否则返回False

import os
print(os.path.isdir(r"E:\\desktop\\test\\3.txt"))
print(os.path.isdir(r"E:\\desktop\\test"))

以上是关于21天学习挑战赛Python学习第三篇:os 标准库的主要内容,如果未能解决你的问题,请参考以下文章

21天学习挑战赛Python学习第二篇:json标准库

21天学习挑战赛Python学习第二篇:json标准库

21天学习挑战赛—Python学习记录第一篇

21天学习挑战赛—Python学习记录第一篇

21天学习挑战赛Python学习第四篇:多线程 threading 模块

21天学习挑战赛Python学习第四篇:多线程 threading 模块