python中的几大模块一
os模块
os模块是python标准库中的一个用于访问操作系统功能的模块,使用os模块中提供的接口,可以实现跨平台访问。主要用于三个方面:
- 获取平台信息
- 对目录进行操作
- 判断操作
1.系统操作
函数 | 功能 |
os.sep | 获取系统路径的分隔符 (获取属性) |
os.name | 查看正在使用的工作平台(获取属性) |
os.getenv('path') | 读取环境变量(调用方法) |
os.getcwd() | 获取当前文件的路径(绝对路径)(调用方法) |
import os
print(os.sep)
print(os.name)
print(os.getenv('PATH'))
print(os.getcwd())
输出:
\
nt
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;
C:\Users\Administrator\Desktop
2.目录操作-增删查改
调用方法 | 功能及说明 |
os.listdir() | 返回指定目录下的所有文件和目录名 (返回一个list类) |
os.mkdir() | 创建一个目录。只创建一个目录文件 |
os.rmdir() | 删除一个目录。若目录中包含文件则无法删除 |
os.makedirs(dirname) | 递归生成多层目录。若所有目录均存在,则创建失败 |
od.removedirs(dirname) | 递归删除多层目录。若存在一个目录中包含文件,则删除失败 |
os.chdir() | 改变当前文件目录,到指定目录中 参数为指定目录 |
os.rename('旧名','新名字') | 重命名当前文件或目录 |
当我利用os.mkdir('./practice')指令时,可以在当前目录创建一个名为practice的空目录文件
当我想利用os.remove('./practice')进行删除操作时候,会报错’practice 拒绝访问‘ 此时利用os.rmdir()方法时候,可进行删除
import os
os.redir('./practice')
3.os.path模块
方法 | 功能及说明 |
os.path.abspath(path) | 返回path在当前系统中的绝对路径 |
os.path.normpath(path) | 归一化path的表示形式,统一用\\分割 |
os.poath.relpath(path) | 返回当前程序与文件之间的相对路径 |
os.path.dirname(path) | 返回path中的目录名称 |
os.path.basename(path) | 返回path中的文件名称 |
os.path.join(path,*paths) | 组合path与paths,返回一个路径字符串 |
os.path.exists(path) | 判断对应路径是否存在目录或文件,返回True或者False |
os.isfile(path) | 判断对应路径是否为文件,返回True或者False |
os.path.isdir(path) | 判断对应路径是否为目录,返回True或者False |
os.path.getatime(path) | 返回对应文件或者目录的上一次访问时间 |
os.path.getmtime(path) | 返回对应文件或者目录的上一次修改时间 |
os.path.getctime(path) | 返回对应文件或者目录的上一次创建时间 |
os.path.getsize(path) | 访问对应路径的文件的大小,以字节为单位 |
os的字库path库也是一个标准库,包含了非常强大的功能,在以后的编程中说不定都能用上,希望自己还是能够都记下来。除此之外,os库还有几个涉及到进程管理的方法。
方法 | 功能及说明 |
os.getlogin() | 获取当前系统的登录用户名 |
os.cpu_count() | 获得当前系统cpu数量 |
os.urandom(n) | 获得n字节的随机字符串 |
os.system() | 调用系统的终端(在windows中调用cmd终端) |
给出一道题目:
编写一个程序 :
1.能在当前目录下查找文件名包含指定字符串的文件
2.打印出其绝对路径
这里我给出我目前的答案,暂时还不知道是否存在漏洞。
import os
sub_dir='sql.py'
cur_dir=os.getcwd()
print(cur_dir)
if os.path.exists(os.path.join(cur_dir,sub_dir)):
path=os.path.abspath(sub_dir)
print(path)
os模块在我看来是一个非常强大的模块,它的功能目前我还不能非常熟练的使用,只能目前将这些使用方法暂时记录下来,以后还需慢慢熟练。