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关键字 如 ...
随机推荐
- hdu5884
#include <cstdio> #include <queue> #include <algorithm> #include <string.h> ...
- Oracle .NET Core
Oracle .NET Core Beta驱动已出,自己动手写EF Core Oracle https://www.cnblogs.com/yanweidie/p/9064609.html 使用.ne ...
- NET Core应用可以同时运行在Windows Container和Linux Container-1
NET Core多平台开发体验[1]: Windows 微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后 ...
- 关系型数据库---MySQL---数据表
1.在创建一个新的MySQL数据表时,可以为它设置一个类型: 2.MySQL支持多种数据表类型,有各自的特点和属性,最重要的3种类型: 1.1 MyISAM 1.2 InnoDB 1.1 可以把Inn ...
- cas 单点登录服务端客户端配置
首先,下载 cas-server-3.5.2-release http://pan.baidu.com/s/1GJ8Gs cas-client-3.2.1-release http://pan.bai ...
- VS 解决方案文件结构分析
VS2013 解决方案文件结构分析 Visual Studio 的解决方案文件是一个文本文件,其中的内容不是太复杂,有些时候 Visual Studio 会把这个文件搞乱,理解一下这个文件的结构,对我 ...
- JVM垃圾回收机制四
GCRoots与可达性分析 Java中的四种引用 强引用.软引用.弱引用.虚引用.这四种引用的强度是逐渐减弱的,JVM垃圾回收的力度是逐渐增强的. 四种引用的作用 1.可以让程序员通过代码来控制对象的 ...
- columns分栏与flex弹性盒模型
columns 分栏 值:column-width:设置每列的宽度 column-count:设置列数 例:columns{200px 3} 列数和宽度固定 co ...
- Java基础(Scanner、Random、流程控制语句)
第3天 Java基础语法 今日内容介绍 u 引用数据数据类型(Scanner.Random) u 流程控制语句(if.for.while.dowhile.break.continue) 第1章 引用数 ...
- Godaddy虚拟主机新建mysql数据库 2019最新
第一次用狗爹,完全摸不着路子. 网站本地已搭建,不知道数据库是在哪里上传. 百度搜索结果都是四五年前的旧内容,耽误时间. 还是问客服,Godaddy的客服确实不赖 godaddy虚拟主机如何新建数据库 ...