Python学习笔记:os模块和sys模块
os模块
- os.path.driname(path):返回当前路径的上一级路径字符串。
- os.path.basename(path):返回当前路径的目录名(文件夹名)或文件名(全称)。
- os.path.split(path):返回一个路径以最后一个路径分割符分割后的元组。
- os.path.splitext(file_name):返回文件名和其后缀组成的元组(后缀包含点号,比如“.txt”)。
- os.path.isdir(path):判断一个路径是否是一个目录(文件夹)。
- os.path.isfile(path):判断一个路径是否是一个文件。
- os.path.join(path_str1, path_str2):将两个及以上的字符串使用当前系统的路径分隔符连接起来。
- os.path.abspath(path):返回一个路径的绝对路径。
- os.listdir(dir_path):以列表的形式返回一个目录(dir_path只能是目录,不能是文件名路径)下的所有文件(全称)和文件夹名称。
- os.remove(file_path):删除指定文件。
- os.rmdir(dir_path):删除一个空目录。
- os.removedirs(dir_path):递归删除指定空目录(空文件夹)。
- os.path.exists(path):判断一个路径是否存在。
- os.mkdir(dir_path):新建一个目录(文件夹)。
- os.makedirs(dir_path):递归创建目录(文件夹)。
- os.getcwd():获取当前工作目录。
- os.chdir(path):改变当前工作目录为新的目录path。
- os.walk(top_path):从top_path开始遍历目录树,每遍历一个目录就返回一个由相对于查找目录的相对路径、目录名列表和文件名列表的三元组。
- os.system(command):调用dos命令并运行,例如:os.system('python D:\\test.py arg1 arg2'),即在DOS界面运行Python文件test.py,并传入参数“arg1”和“arg2”。
- os._exit(status):以指定状态退出Python解释器,并不做任何处理,即运行完这条语句后就会直接退出了,后面的代码都不会执行了。退出Python解释器还有一个sys.exit()方法,详细见下面的sys模块。
注:Windows的路径分隔符为“\”,所以写路径字符串的时候一般都是要写成“\\”的,但是在Python中,无论什么平台,只需要写“/”就OK了,避免了不同平台的路径分隔符不同的问题。
>>> os.path.dirname('D:\\Games')
'D:\\'
>>> os.path.basename('D:\\Games\\9yin_632\\蜗牛整包\\0x0804.ini')
'0x0804.ini'
>>> os.path.splitext('0x0804.ini')
('0x0804', '.ini')
>>> os.path.abspath('Games') # 随意写的字符串(相对路径),返回的路径字符串加上了当前的工作路径(绝对路径)
'C:\\Python27\\Games'
sys模块
- sys.argv:参数字符串列表(动态对象),第一个参数为当前程序主文件的绝对路径或空字符串,如果在命令提示符界面给Python文件传了参数(不同的参数以空格分隔,无论传入的时候写的是什么类型,最终都会转成字符串),可以在这里面获取(从第二个位置开始),比如命令提示符中运行“python main.py 111 aaa”,那sys.argv就有三个元素,第二个和第三个元素分别为“111”和“aaa”。
- sys.path:搜索模块路径字符串列表(动态对象),搜索查找模块时会优先到这里面去搜索,第一个参数为主文件所在目录的路径或空字符串。
- sys.modules:已经加载的模块信息字典,key为模块名称,value为模块对象,在使用__import__导入模块时,可以先判断下是否有同名模块已经在sys.modules中加载了,如果已经存在了,可以先删除或者不再导入了。
- sys.getsizeof(object):获取一个对象的内存占用字节数大小。
- sys.getdefaultencoding():返回Python默认的字符串编码格式。
- sys.exit([status]):退出Python解释器,并抛出一个SystemExit异常,status默认为0,即“成功”,如果status是一个整数,则被用作一个系统退出状态,如果status是其他对象,则它将会被print并系统退出状态为1,即“失败”。所以使用这个方法的话,一般是需要进行异常处理的,运行完这条语句后如果有异常捕获和处理的,会去运行后面的异常处理代码的(而os._exit()方法则不会,它不会抛出异常)。
- sys.excutable:代码运行时表示运行的解释器绝对路径,如C:\Python36\python.exe,在打包的程序中就是exe程序文件的绝对路径,这个是用来定位用户运行该程序的真实位置。
>>> sys.argv
['']
>>> sys.path
['', 'C:\\Python27\\Lib\\idlelib',...] # 元素太多,省略了
>>> sys.modules
{'heapq': <module 'heapq' from 'C:\Python27\lib\heapq.pyc'>,...} # 元素太多,省略了
>>> sys.getdefaultencoding()
'ascii'
Python学习笔记:os模块和sys模块的更多相关文章
- python学习笔记(26)-request模块
python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- python学习笔记系列----(四)模块
这一章主要是叙述了python模块的概念以及包的概念,还有它们的使用:收获也是大大的. 提起python文件,经常会听到3个名词,python脚本,python模块,python包.脚本的概念是从py ...
- python学习笔记(13)常用模块列表总结
os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作 ...
- python学习笔记(12)常用模块
一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...
- Python学习笔记总结(二)函数和模块
一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句 例子 Calls myfunc(‘diege', ...
- Python学习笔记4(函数与模块)
1.Python程序的结构 Python的程序由包(package).模块(module)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工 ...
- python学习笔记:第八天(模块)
Python3 模块 脚本上是用 python 解释器来编程,如果从 Python 解释器退出再进入,那么定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办法,把这些定义存放在文件中 ...
- python学习笔记:网络请求——urllib模块
python操作网络,也就是打开一个网站,或者请求一个http接口,可以使用urllib模块.urllib模块是一个标准模块,直接import urllib即可,在python3里面只有urllib模 ...
- python学习笔记:(十一)模块
模块是指一个包含定义的函数和变量的文件,其后缀名为.py.模块可以被别的程序引用,并使用其中的函数等功能. 1.import语句 如果需要使用模块,只需要在新模块中导入模块.使用import关键字 如 ...
随机推荐
- 渣渣菜鸡的 ElasticSearch 源码解析 —— 启动流程(下)
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/08/12/es-code03/ 前提 上篇文章写完了 ES 流程启动的一部分,main 方法都入 ...
- Json 后台转对象的方式或者获取属性值方式。
类似这类的 json字符串 后台转成 model 或者取其中一个属性值. 需要去掉前后引号 以及将转义字符去掉.空格代替 resoult = resoult.Substring(0, resoult. ...
- JVM类加载机制二
类加载器与双亲委派模型 类加载器 类加载的操作不是有虚拟机完成的,而是由类加载器完成的,这样可以让程序定义决定加载哪个类. 类加载器的分类: 从虚拟机的角度有两种加载器,一种是启动类加载器Bootst ...
- bjut193E 吃饭时的怪癖
题目: http://bjutacm.openjudge.cn/lianxi/193E/ 思路: n的所有质因数之和等于phi(n) * n / 2, phi(n)为欧拉函数. 实现: #includ ...
- 织梦后台上传mp4视频不显示
include/dialog/select_media.php ,约185行, 把(rm|rmvb) 改为(rm|mp4|rmvb)
- 电话号码 马赛克*号 string类扩展
/// <summary> /// 字符串马赛克 /// </summary> /// <param name="source"></pa ...
- mac不限速下载百度网盘
本文转载自:https://blog.csdn.net/u010837612/article/details/80029212 相信大家都比较困惑,百度网盘客户端限速后一般只有几十K的下载速度,Win ...
- Image(支持 XML 序列化),注意C#中原生的Image类是无法进行Xml序列化的
/// <summary> /// Image(支持 XML 序列化) /// </summary> [XmlRoot("XmlImage")] publi ...
- 使用JS的画布制作一个瞄准镜
<canvas width="600" height="500" id="myCanvas"></canvas> & ...
- 2018.3.4 Linux and Unix 知识点
UNIX系统的特点 1.多任务 2.多用户 3.强大的网络功能 4.设备无关性 5.并行处理能力 6.开放性 7.错误处理 Linux系统的特点 1.自由软件 2.良好的兼容性 3.良好的界面 4.丰 ...