Python的os模块和sys模块!
今天博主跟大家聊一聊如何使用Python的os模块和sys模块!不喜勿喷,如有建议欢迎补充、讨论!
关于安装和汉化可以观看博主的这篇文章《下载安装及汉化 》以及Python系列:windows10配置Python3.0开发环境!,安装完毕重启VsCode!以及VSCode配置Python开发环境!
Come on!os模块
os模块主要用于与操作系统打交道,Python中的os模块包含普遍的操作系统功能,即如果你希望你的程序与操作系统平台无关,那么os模块就尤为重要。其方法如下
- os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
- os.chdir(“dirname”) 改变当前脚本工作目录;相当于shell下cd
- os.curdir 返回当前目录: (’.’)
- os.pardir 获取当前目录的父目录字符串名:(’…’)
- os.makedirs(‘dirname1/dirname2’) 可生成多层递归目录
- os.removedirs(‘dirname1’) 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
- os.mkdir(‘dirname’) 生成单级目录;相当于shell中mkdir dirname
- os.rmdir(‘dirname’) 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
- os.listdir(‘dirname’) 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
- os.remove() 删除一个文件
- os.rename(“oldname”,“newname”) 重命名文件/目录
- os.stat(‘path/filename’) 获取文件/目录信息
- os.sep 输出操作系统特定的路径分隔符,win下为”\”,Linux下为”/”
- os.linesep 输出当前平台使用的行终止符,win下为”\t\n”,Linux下为”\n”
- os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
- os.name 输出字符串指示当前使用平台。win->‘nt’; Linux->‘posix’
- os.system(“bash command”) 运行shell命令,直接显示
- os.environ 获取系统环境变量
- os.path.abspath(path) 返回path规范化的绝对路径
- os.path.split(path) 将path分割成目录和文件名二元组返回
- os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
- os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
- os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
- os.path.isabs(path) 如果path是绝对路径,返回True
- os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
- os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
- os.path.join(path1[, path2[, …]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
- os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
- os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
下列代码最好是去cmd(命令指示符)里面试试
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File : osdemo.py
@Time : 2019/10/21 10:34:18
@Author : YongJia Chen
@Version : 1.0
@Contact : chen867647213@163.com
@License : (C)Copyright 2018-2019, Liugroup-NLPR-CASIA
@Desc : None
'''
# here put the import lib
import os
#1、os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.getcwd()
#2、os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
os.chdir(r"指定的目录地址")
os.getcwd()
#3、os.makedirs('dirname1/dirname2') 可生成多层递归目录
os.makedirs(r"test1\test2")
#在当前目录下生成 test1\test2
#4、os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.removedirs(r"test1\test2")
#当前目录下的test1\test2均删除,若test1下有其他文件则不删
#5、os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
os.listdir()
#6、os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.mkdir(r"test1\test2")
#7、os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.rmdir(r"test1")
#8、os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.listdir()
#9、os.remove() 删除一个文件
os.rename(r"test1", r"test001")
#10、os.stat('path/filename') 获取文件/目录信息
os.stat(r"test001")
os.stat_result(st_mode=16895,
st_ino=21110623253299938,
st_dev=1653245188,
st_nlink=1,
st_uid=0,
st_gid=0,
st_size=0,
st_atime=1529501427,
st_mtime=1529501427,
st_ctime=1529499311)
#11、os.system("bash command") 运行shell命令,直接显示
os.system("ipconfig")
#12、os.path.abspath(path) 返回path规范化的绝对路径
os.path.abspath(r"test1/test2")
#13、os.path.split(path) 将path分割成目录和文件名二元组返回
dir1 = os.path.abspath(r"test1/test2")
os.path.split(dir1)
#13、os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.dirname(dir1)
#14、os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.basename(dir1)
#15、os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
os.path.exists(dir1)
#16、os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.join(r"指定的目录地址.py", r"指定的目录地址.py")
#17、os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
os.path.getatime(r"指定的目录地址.py")
#18、os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
os.path.getmtime(r"指定的目录地址.py")
os模块就是针对间接的对操作系统进行操作,是程序与操作系统的接口,使得程序与任何操作系统平台无关。
sys模块
sys模块是针对Python解释器作相关操作。
- sys.argv 命令行参数List,第一个元素是程序本身路径
- sys.exit(n) 退出程序,正常退出时exit(0)
- sys.version 获取Python解释程序的版本信息
- sys.maxint 最大的Int值
- sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
- sys.platform 返回操作系统平台名称
下列代码最好是去cmd(命令指示符)里面试试
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File : sysdemo.py
@Time : 2019/10/21 10:38:12
@Author : YongJia Chen
@Version : 1.0
@Contact : chen867647213@163.com
@License : (C)Copyright 2018-2019, Liugroup-NLPR-CASIA
@Desc : None
'''
# here put the import lib
import sys, time
#1、sys.version 获取Python解释程序的版本信息
sys.version
# '3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]'
#2、sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.path
# ['', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python37\\DLLs', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python37\\lib', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python37', 'C:\\Users\\lenovo\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\beautifulsoup4-4.8.0-py3.7.egg', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\soupsieve-1.9.4-py3.7.egg']
#进度条
for i in range(100):
sys.stdout.write("$") #先写入缓存中,一次性打印在屏幕上
time.sleep(0.1)
sys.stdout.flush() #每次均刷新在屏幕上
快去看看吧!
到这里:Python的os模块和sys模块!分享完毕了,快去试试吧!
最后
-
更多参考精彩博文请看这里:陈永佳的博客
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97702.html