LOVEJOAN

文章 分类 评论
76 9 1453

站点介绍

人生是一场孤独的旅行,没有终点。。。

os模块下常用函数和方法

chuck 2023-04-19 350 13条评论 编程 python

首页 / 正文

模块

模块是一个包含 Python 代码的文件,可以在其他 Python 程序中被引用和调用。模块使得代码可以更好地组织和复用,避免了重复编写相同的代码。

一个 Python 模块通常包含变量、函数和类等各种代码块,这些代码块可以在其他 Python 程序中被引用和使用。使用 import 语句可以将一个模块引入到当前程序中,并使用其中的代码。

Python 模块可以是标准库模块、第三方库模块或自定义模块等,它们可以用于完成各种任务,如数学计算、网络编程、文件处理、数据可视化等。常用的标准库模块有 os、sys、re、math 等,常用的第三方库模块有 numpy、pandas、matplotlib 等,用户也可以根据自己的需要编写自定义模块。

在 Python 中,模块可以是一个单独的 .py 文件,也可以是一个包含多个 .py 文件的目录。如果一个目录中包含一个名为 __init__.py 的文件,那么该目录就可以作为一个 Python 包来使用。通过将模块组织成包的方式,可以更好地组织代码,并且可以避免模块命名冲突的问题。

os模块

os 模块是 Python 标准库中的一个模块,提供了一系列与操作系统交互的函数和方法,可以用来管理文件和目录、处理进程和环境变量等。下面介绍一些 os 模块的常用函数和方法:

  • os.name:返回当前操作系统的名称,Windows 下为 'nt',Linux/Unix 下为 'posix'。
  • os.getcwd():返回当前工作目录的绝对路径。
  • os.chdir(path):将当前工作目录改变为指定路径。
  • os.listdir(path):返回指定目录下的所有文件和目录名。
  • os.mkdir(path):创建一个新目录。
  • os.makedirs(path):递归地创建多级目录。
  • os.rmdir(path):删除指定目录,只能删除空目录。
  • os.removedirs(path):递归地删除多级目录,如果中间某个目录非空则无法删除。
  • os.path.abspath(path):返回指定路径的绝对路径。
  • os.path.exists(path):判断指定路径是否存在。
  • os.path.isdir(path):判断指定路径是否为目录。
  • os.path.isfile(path):判断指定路径是否为文件。

以上函数和方法只是 os 模块中的一部分,还有许多其他函数和方法可以用来处理文件、进程、环境变量等。在使用 os 模块时需要注意,一些操作需要具有相应的权限才能执行,否则会出现权限错误。

getcwd()获取当前工作目录的绝对路径

import os
# 输出当前工作目录的路径
print(os.getcwd())

chdir(path)改变工作目录

import os
# 输出当前工作目录的路径
print(os.getcwd())
# 切换工作路径
os.chdir("./python基础")
# 再输出当前工作路径
print(os.getcwd())

listdir(path='.')列出指定目录下的文件结构

import os
# 输出当前目录下的文件和文件夹,不能递归列出子目录下文件
print(os.listdir())

mkdir(path)创建目录

import os
# 查看当前目录
print(os.getcwd())
# 创建目录
os.mkdir("测试目录")
# 列出当前文件夹下的文件和目录
print(os.listdir("."))

makedirs(path)创建多层目录

import os

# 查看当前目录
print(os.getcwd())
# 创建目录
os.makedirs("测试目录\\a\\b")

remove(path)删除文件

import os
# 使用相对路径
os.remove("abc.txt")
# 使用绝对路径
os.remove("E:\\Files\\python\\sw.log")

rmdir(path)删除单层目录

import os 
# 只能删除一层目录,多层目录会报错
os.rmdir("E:\Files\python\测试目录\\a\\b")

removedirs(path)递归删除多层目录

import os 
# 删除多层目录
os.removedirs("测试目录/a")

rename(old,new)重命名文件或目录

import os
# 就目录为测试目录,重命名为C
os.rename("测试目录","C")

# 重命名文件,需要注意路径是否正确,否则可能报错文件不存在
with open("C\\abc.txt","wt",encoding="utf-8") as f:
    f.write("这是一个测试文件")

os.rename("C\\abc.txt","C\\A.txt")

system(command)执行系统命令

# python通过os模块,执行系统命令
import os
# 执行打开任务管理器命令
os.system("taskmgr")
# 执行打开控制面板命令
os.system("control")

walk(top)遍历目录结构

import os
# 通过os.walk(top)返回一个三元组,通过for循环遍历输出
for i in os.walk("C"):
    print(i)
# 输出格式为:(路径,包含目录,包含文件)
('C', ['a', 'D'], ['A.txt'])
('C\\a', ['b'], [])
('C\\a\\b', [], [])
('C\\D', [], [])

其他

  • os.curdir()表示当前目录
  • os.pardir()表示上一级目录
  • os.name()表示当前使用的操作系统

os.path模块常用函数与方法

函数名使用方法
basename(path)去掉目录路径,单独返回文件名
dirname(path)去掉文件名,返回目录路径
join(path1[.path2])将path1和path2各部分注册一个路径名
split(path)分割文件名和路径,返回(f)path,f_name)元组
splitext(path)分离文件名与扩展名,返回(f.name,f_extension)元组
getsize(file)返回文件的尺寸,单位是字节
getatime(file)返回指定文件的访问时间,浮点型秒数,可以使用time进行转换
getctime(file)返回指定文件的创建时间
getmtime(file)返回指定文件的最新的修改时间
exists(path)判断指定目录或文件是否存在,返回True或False
isbas(path)判断指定路径是否为绝对路径
iSdir(path)判断指定路径是否存在且是一个目录
isfile(path)判断是否存在一个文件
islink(path)判断是否是一个符号链接
ismount(path)判断是否是一个挂载点
samefile(path1,path2)判断是否指向同一个文件

评论(13)

  1. 1 游客 2025-03-28 00:00 回复

    555

  2. 1 游客 2025-03-27 23:59 回复

    555TFHOf4Ar'; waitfor delay '0:0:15' --

  3. 1 游客 2025-03-27 23:58 回复

    5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z

  4. 1 游客 2025-03-27 23:57 回复

    555

  5. 1 游客 2025-03-27 23:57 回复

    555

  6. 1 游客 2025-03-27 23:57 回复

    555

  7. 1 游客 2025-03-27 23:57 回复

    555

  8. 1 游客 2025-03-27 23:56 回复

    555

  9. 1 游客 2025-03-27 23:55 回复

    555

  10. @@UMz3B 游客 2025-03-27 23:52 回复

    555

  11. 1 游客 2025-03-27 23:49 回复

    555

  12. 1 游客 2025-03-27 23:48 回复

    555

  13. 1 游客 2025-03-27 23:45 回复

    555

热门文章

最新评论

  • 1

    555fulIdEqZ' OR 160=(SELECT 160 FROM PG_SLEEP(15))--

  • 1

    555-1)) OR 58=(SELECT 58 FROM PG_SLEEP(15))--

  • 1

    555-1) OR 13=(SELECT 13 FROM PG_SLEEP(15))--

  • 1

    555-1 OR 475=(SELECT 475 FROM PG_SLEEP(15))--

  • 1

    555

  • 1

    555

  • 1

    5554FobGRsu') OR 696=(SELECT 696 FROM PG_SLEEP(15))--

  • 1

    555C9F0upP1' OR 504=(SELECT 504 FROM PG_SLEEP(15))--

  • 1

    555

  • 1-1; waitfor delay '0:0:15' --

    555

日历

2025年05月

    123
45678910
11121314151617
18192021222324
25262728293031

文章目录