python中模块sys与os的一些常用方法
sys模块提供了访问或操作与python解释器相关方法与对象。
我们就列举出常用到的知识,以后,随着学习,不断补充。
几个常用到的动态对象:
sys.argv,这是一个列表,它包含了所有传递给脚本的命令行参数,其中第一个为脚本自身的名称呀;
sys.path 这也是一个列表,里面放了模块的搜索路经。并且呢,path[0]表示当脚本的路经。
sys.modules, 这是一个字典类型,它里面放了所有载入的模块。
sys.stdin , 标准输入流--一个类文件对象, raw_input()与input()这是使用它。
sys.stdout,标准输出流--一个类文件对象,我们使用print的时候,就是在使用它;
sys.stderr:标准错误流--一个类文件对象
(以上三个流对象都可以重定向到其它 的IO设备的。)
几个常用的静态对象:
sys.builtin_module_names: 这是一个元组,里面放的是python解释器的内置的所有模块名称。
sys.version ,存放了python解释器的版本信息。
sys.platform , 存放的是python解释器的平台,返回linux2或windows
常用到的函数:
exit([status]),退出,默认为0,表示正常退出。
对于os模块来说,首说一个通过os来调用的模块:os.path,它存在于os模块中,本身又是一个模块。os.path只是一个别名而已,对于不同的平台,这个模块可能有不同的名字。如,posix式的系统(如unix,linux)的话,它的别名就叫做os.path.对于Mac、windows等来说,可能名字叫做macpach, ntpath。
模块os.path下常见的函数:
abspath(path): Return an absolute path,返回绝对路经
basename(p): Returns the final component of a pathname:返回路经的最后一部分,即 最后一个 / 后的内容;commonprefix(list): Given a list of pathnames, returns the longest common leading componen,它的输入为一个路经
的列表,用于返回list中,所有path共有的最长的路径,从左向右,相同字符。
dirname(p): Returns the directory component of a pathname,返回目录哦;
exists(path): Test whether a path exists. Returns False for broken symbolic links,测试一个目录是否存在;
expanduser(path): Expand ~ and ~user constructions. If user or $HOME is unknown,do nothing.作用就是把目录
中的~展开;
getatime(filename): 获得最后一次访问文件的时间,可以通过 os.stat()函数查看具体的状态;
getctime(filename): 返回元数据最后一次change的时间;
getmtime(filename): 返回最后一次修改的时间;
isabs(s): 测试一个路经是否是绝对路经;
isdir(s) : Return true if the pathname refers to an existing directory.
isfile(path): Test whether a path is a regular file
join(path1[, path2[, ...]]); 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略normcase(path): 在Linux下,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换 为反斜杠
splitdrive(path): 拆分驱动器名和路径,主要对win,对linux元组第一个总是空的
splitext(path): 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作 ,以“.”为分隔符
getsize(path): 返回path的大小(字节)
在os模块中,相关的函数太多了,只说几个有用的,如果想具体看,可以通过 help(‘os’)查看哦;
一些与平台相关的一些常量,平台一一样,返回的值也不一样;
- os.name is 'posix', 'nt', 'os2', 'ce' or 'riscos' ,操作系统的名字;
- os.curdir is a string representing the current directory ('.' or ':') 当前目录的表示;
- os.pardir is a string representing the parent directory ('..' or '::') 父目录的表示;
- os.sep is the (or a most common) pathname separator ('/' or ':' or '\\')目录名的分隔号;
- os.extsep is the extension separator ('.' or '/') 名字与扩展名之间的分隔号;
- os.altsep is the alternate pathname separator (None or '/')
- os.pathsep is the component separator used in $PATH etc 目录之间的分隔号,linux下为:。
- os.linesep is the line separator in text files ('\r' or '\n' or '\r\n')一行的分隔号;
- os.defpath is the default search path for executables,执行程序时的默认路经;linux下通常为bash的路经
- os.devnull is the file path of the null device ('/dev/null', etc.) 空设备的文件路经;
一些常用函数:
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cdos.pardir 获取当前目录的父目录字符串名:('..')os.makedirs('dirname1/dirname2') 可生成多层递归目录os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirnameos.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirnameos.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印os.remove() 删除一个文件os.rename("oldname","newname") 重命名文件/目录os.stat('path/filename') 获取文件/目录信息os.symlink('path/filename','ln_filename') 创建符号链接,源需绝对路径os.utime() 修改时间属性os.system(command) 函数用来运行shell命令:
python中模块sys与os的一些常用方法的更多相关文章
- (python) 标准模块sys和os的使用
一.sys模块 包含了系统的相关的功能.我们来学习sys.argv,它包含命令行参数. 例子:定义了一个add函数,用来实现两个整数的相加. #! coding=utf-8 # usersys.py ...
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- Python常用模块sys,os,time,random功能与用法,新手备学。
这篇文章主要介绍了Python常用模块sys,os,time,random功能与用法,结合实例形式分析了Python模块sys,os,time,random功能.原理.相关模块函数.使用技巧与操作注意 ...
- Python中模块之os的功能介绍
Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...
- [笔记]Python中模块互相调用的例子
python中模块互相调用容易出错,经常是在本地路径下工作正常,切换到其他路径来调用,就各种模块找不到了. 解决方法是通过__file__定位当前文件的真实路径,再通过sys.path.append( ...
- 模块sys,os
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的. 在Pyt ...
- 查看python中模块的所有方法
查看python中模块的所有方法 安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...
- [python]关于在python中模块导入问题追加总结
[背景] 最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结 原帖子:[python]关于python中模 ...
- python常用模块json、os、sys
一.序列化 json & pickle 模块 json--用于字符串和Python数据类型间进行转换 pickle---用于python特有的类型和Python的数据类型间进行转换 json: ...
随机推荐
- mybatis中#{}和${}的区别
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111&qu ...
- 会话标识未更新(AppScan扫描结果)
最近工作要求解决下web的项目的漏洞问题,扫描漏洞是用的AppScan工具,其中此篇文章是关于会话标识未更新问题的.下面就把这块东西分享出来. 原创文章,转载请注明 ----------------- ...
- 在opencv中实现中文输出
http://pan.baidu.com/s/1hrQTWDe 已经成功 ; 来自为知笔记(Wiz)
- 使用 /proc 文件系统来访问 linux操作系统 内核的内容 && 虚拟文件系统vfs及proc详解
http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/201304 ...
- 2016 ACM/ICPC Asia Regional Qingdao Online HDU5882
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5882 解法:一个点必须出度和入度相同就满足题意,所以加上本身就是判断奇偶性 #include<std ...
- Mysql-学习笔记(==》集合函数与分组四)
-- 聚集函数 配合分组语句 group by-- 显示最高分SELECT MAX(sscore) FROM db.`student`;-- 显示最高分学生的信息min maxSELECT * FRO ...
- qbxt十一系列三
[题目分析] 这完全是个数学题啊,有些崩溃,上午考试写了两个小时,20分,于是乎 下午改啊改啊 改到10分....如果第二个圆的圆心在第一个圆.....呃 说不清楚 像下面这个图这样,两圆重叠部分中C ...
- anroid打包
http://blog.csdn.net/qq435757399/article/details/46634363 转载 Gradle打包APP签名 默认情况下,debug被配置成使用一个debug ...
- SqlSever基础 一个条件group by 一列有两个内容,分组并查看每个内容有多少行,并用as起名
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- JSON 数据解析
json解析的几种方法(将字符串解析为object对象和objectArray对象数组) 1 Android自带api 包名 org.json // json = {"school&quo ...