python中os和sys模块的区别与常用方法总结

前言

本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

官方解释:

os: This module provides a portable way of using operating system dependent functionality.

翻译:提供一种方便的使用操作系统函数的方法。

sys:This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.

翻译:提供访问由解释器使用或维护的变量和在与解释器交互使用到的函数。

os模块

Python os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。

os 常用方法总结如下:

os.remove()       #删除文件
os.rename()       #重命名文件
os.walk()       #生成目录树下的所有文件名
os.chdir()       #改变目录
os.mkdir/makedirs()     #创建目录/多层目录
os.rmdir/removedirs     #删除目录/多层目录
os.listdir()       #列出指定目录的文件
os.getcwd()       #取得当前工作目录
os.chmod()       #改变目录权限
os.path.basename()     #去掉目录路径,返回文件名
os.path.dirname()     #去掉文件名,返回目录路径
os.path.join()      #将分离的各部分组合成一个路径名
os.path.split()      #返回(dirname(),basename())元组
os.path.splitext()     #返回filename,extension)元组
os.path.getatime\ctime\mtime   #分别返回最近访问、创建、修改时间
os.path.getsize()     #返回文件大小
os.path.exists()      #是否存在
os.path.isabs()      #是否为绝对路径
os.path.isdir()      #是否为目录
os.path.isfile()      #是否为文件

更多关于os模块的介绍大家可以参考这篇文章:http://www.jb51.net/article/57995.htm

 sys 常用方法总结如下:

sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互,如:Python解释器。

导入sys模块

首先,打开终端模拟器进入Python解释器或者打开IDE编辑器创建一个新的.py后缀名的Python程序文件。
下面,以解释器中的操作举例:

>>> import sys #导入sys模块
>>> dir(sys) #dir()方法查看模块中可用的方法

注意:如果是在编辑器,一定要注意要事先声明代码的编码方式,否则中文会乱码。

常用方法:

sys.argv     #命令行参数List,第一个元素是程序本身路径
sys.modules.keys()   #返回所有已经导入的模块列表
sys.exc_info()    #获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exit(n)    #程序,正常退出时exit(0)
sys.hexversion    #获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.version    #获取Python解释程序的版本信息
sys.maxint     #最大的Int值
sys.maxunicode    #最大的Unicode值
sys.modules    #返回系统导入的模块字段,key是模块名,value是模块
sys.path     #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform    #返回操作系统平台名称
sys.stdout     #标准输出
sys.stdin     #标准输入
sys.stderr     #错误输出
sys.exc_clear()   #用来清除当前线程所出现的当前的或最近的错误信息
sys.exec_prefix   #返回平台独立的python文件安装的位置
sys.byteorder    #本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
sys.copyright    #记录python版权相关的东西
sys.api_version   #解释器的C的API版本
sys.version_info   #获取Python解释器的版本信息
sys.getwindowsversion  #获取Windows的版本
sys.getdefaultencoding  #返回当前你所用的默认的字符编码格式
sys.getfilesystemencoding #返回将Unicode文件名转换成系统文件名的编码的名字
sys.setdefaultencoding(name) #用来设置当前默认的字符编码
sys.builtin_module_names #Python解释器导入的模块列表
sys.executable    #Python解释程序路径
sys.stdin.readline   #从标准输入读一行,sys.stdout.write("a") 屏幕输出a

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Python os模块介绍

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os

  • python使用os模块的os.walk遍历文件夹示例

    复制代码 代码如下: #-*- coding:utf-8 -*- import os if __name__ == '__main__':    try:    '''traval and list all files and all dirs'''     for root, dirs, files in os.walk('D:' + os.sep + 'Python27'):        print '-------------------directory < ' + root + '

  • Python os模块中的isfile()和isdir()函数均返回false问题解决方法

    今天在写一个linux下自动备份指定目录下的所有目录的脚本时,遇到了一个问题,由于我是需要备份目录,所以,需要判断扫描的文件是否为目录,当我用os.path.isdir()来判断的时候,发现所有文件均返回false,刚开始以为是系统兼容性问题,进一步测试,发现用os.path.isfile(),这些文件还是返回false,这肯定就是程序写的有问题了,代码如下: #!/usr/bin/env python # a python script to auto backup a directory's

  • Python标准库之Sys模块使用详解

    sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sys模块获得脚本的参数 复制代码 代码如下: print "script name is", sys.argv[0]        # 使用sys.argv[0]采集脚本名称 if len(sys.argv) > 1:     print "there are",

  • python模块之sys模块和序列化模块(实例讲解)

    sys模块 sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1) sys.version 获取Python解释程序的版本信息 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 序列化模块 序列化的目的: 以某种存储形式使自定义对象持久化 将对象从一个地方传递到另一个地

  • Python中os和shutil模块实用方法集锦

    复制代码 代码如下: # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\'os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix'os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径os.getenv() 获取一个环境变量,如果没有返回noneos.putenv(key, value) 设置一个环境变量值os.listdir(path) 返回指定目录

  • Python OS模块常用函数说明

    Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行. 下面列出了一些在os模块中比较有用的部分.它们中的大多数都简单明了. os.sep可以取代操作系统特定的路径分隔符.windows下为 "\\" os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'pos

  • Python中的os.path路径模块中的操作方法总结

    解析路径 路径解析依赖与os中定义的一些变量: os.sep-路径各部分之间的分隔符. os.extsep-文件名与文件扩展名之间的分隔符. os.pardir-路径中表示目录树上一级的部分. os.curdir-路径中当前目录的部分. split()函数将路径分解为两个单独的部分,并返回包含这些结果的tuple.第二个元素是路径的最后部分,地一个元素是其他部分. import os.path for path in [ '/one/two/three', '/one/two/three/',

  • python sys模块sys.path使用方法示例

    python sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性 复制代码 代码如下: import sysprint dir(sys) result: 复制代码 代码如下: ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type

  • python中使用sys模板和logging模块获取行号和函数名的方法

    对于python,这几天一直有两个问题在困扰我:1.python中没办法直接取得当前的行号和函数名.这是有人在论坛里提出的问题,底下一群人只是在猜测python为什么不像__file__一样提供__line__和__func__,但是却最终也没有找到解决方案.2.如果一个函数在不知道自己名字的情况下,怎么才能递归调用自己.这是我一个同事问我的,其实也是获取函数名,但是当时也是回答不出来. 但是今晚!所有的问题都有了答案.一切还要从我用python的logging模块说起,logging中的for

随机推荐