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关键字 如 ...
随机推荐
- Codeforces 183A(坐标系性质)
自从开始写上古场以后我就不断地写A.B题的题解了??? cf problem183A 无论每轮有哪几种选择,最后的可能结果放在一起一定是个钻石型,最后答案就是长方形长乘宽. 非常神奇的性质,如果走了e ...
- NET Core 与 Vue.js 服务端渲染
NET Core 与 Vue.js 服务端渲染 http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/原作者: ...
- 【OGG】OGG的单向DML复制配置(一)
[OGG]OGG的单向DML复制配置(一) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...
- 关于C#操作Excel,复制Sheet的记录
1.先用了NPOI,去做,HSSFWorkbook 里面有一个Copy方法,但这个只支持office2003. 对应的XSSFWorkbook没有些方法. 而且这个这个方法对devexpress导出的 ...
- DevExpress PivotGrid 使用记录
1.自定total值: 调试的时候,如果要定位,给一个index,然后,把e.CustomVale=index++;定位后,监视ds的值,每个ds的值不一样!
- scp 可以在 2个 linux 主机间复制文件
Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程.从远程复制到本地是两种使用方式.这里有具体举例: ================== Linu ...
- Linux环境 Java内存快速查看
最近生产环境遇到内存老是占用很大的情况,16G的内存Free的内存只剩100多M,仿佛一颗定时炸弹一般,说不定就服务Down了.于是开始网上不断的找查看内存使用的方法.现学现卖,以下通过一个例子来演示 ...
- java学习笔记(2)——数组
1.创建数组: int[] a = new int[n];//数组长度n不要求为常数,一旦创建了数组,其大小不可改变 int[] a = {0,1,2,3};//也可这样定义 获得数组元素的个数:ar ...
- springboot+shiro+cas实现单点登录之shiro端搭建
github:https://github.com/peterowang/shiro-cas 本文如有配置问题,请查看之前的springboot集成shiro的文章 1.配置ehcache缓存,在re ...
- GreenDao使用踩过的坑
本来想用litePal,看了郭大婶的说明,真的是好用! 后来发现网上说比较流行的还是 GREENDAO,且效率不错! 不用管那么多了,直接用吧. --------------------------- ...