python之os模块总结

os模块提供了一个轻便的方法使用要依赖操作系统的功能,集成了常用的文件与文件夹操作。

下面是与文件路径相关的函数:
os.getcwd()
os.chdir()
os.path.split()
os.path.splitext()
os.path.splitdriver()
os.path.realpath(path) # Return the absolute version of a path
os.path.relpath(path, start='.') # Return a relative version of a path

下面是通过os库对系统环境的相关操作,其中最主要是还是environ这个dict类型的对象,但是有一点需要注意的是,无论是get,put,unset相关操作其实只是单纯的对os.environ的修改,其影像范围只有system,popen之类而产生的子进程,对系统环境变量是没有影响的。

os.environ # A mapping object representing the string environment
os.unsetenv() # delete the environment variable from os.environ
os.getenv() # Get environment from os.environ
os.putenv() # Insert environment string to os.environ,changes to the environment affect subprocesses only
当然如果你想真正改变系统环境变量,那就要根据不同的平台好好想办法了。比如在windows平台就要借助_winreg模块操作注册表。
# Persistent environment variables on Windows
from _winreg import *
import os, sys, win32gui, win32con
path = r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
reg = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
key = OpenKey(reg, path, 0, KEY_ALL_ACCESS)
SetValueEx(key, name, 0, REG_EXPAND_SZ, value)
# broadcast the changes of  'Environment' 
win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SETTINGCHANGE, 0, 'Environment')
CloseKey(key)
CloseKey(reg)

下面是文件夹的创建与文件遍历函数,最后给出一个很神奇的函数,一句话递归搜索文件。当我看到这句话时瞬间惊呆,于是一下子就记住了。在这里也share一下。

os.mkdir(path [, mode=0777]) # Create a directory
os.makedirs(path [, mode=0777]) #create a leaf directory and all intermediate ones recursively
os.listdir(path) # It does not include the special entries '.' and '..'
os.walk() # return a tuple of (dirpath, dirnames, filenames),excluding '.' and '..'
#find subfiles from the directory(dir_name) recursively
[os.path.join(dir,file) for (dir,subdirs,subfiles) in os.walk(dir_name) for file in subfiles]

当然os模块的功能远不止如此,比如access函数对文件状态的检测,chmod对文件权限的修改。因为之前不是很经常用到,所以在这里就提一下就过了吧。总之os模块还是很重要的模块,值得大家好好学习!(有问题欢迎提出,大家一起讨论,共同学习进步)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值