python常用模块-os模块、sys模块

os模块简介

os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,所以离不了os模块

os模块常用方法

目录文件操作

  • os.getcwd()
    获取当前执行脚本的工作路径
  • os.chdir("dirname")
    获取当前执行脚本的工作路径
  • os.pardir
    获取当前执行脚本目录的父级的目录的字符串,一般表示为".."。
  • os.makedirs('dir1/dir2')
    在当前执行的脚本的目录下新建多层目录,若目录已经存在则会报错
  • os.removedirs('dirname')
    可删除多层目录,但前提是目录必须为空若不为空,则会停止在不为空的那一层目录
  • os.mkdir('dirname')
    在当前执行的脚本的目录下新建单层目录,若目录已经存在则会报错
  • os.rmdir('dirname')
    删除单层目录,若目录不为空则无法删除
  • os.listdir(path)
    列出指定的目录下的所有文件和子目录,包括隐藏文件,并以列表方式返回,若不指定目录,则为当前执行文件的目录
  • os.remove(path)
    删除一个文件
  • os.rename("oldname","newname")
    重命名一个文件或者目录
  • os.stat('path')
    获取文件或者目录的信息,返回的是一个类对象

系统操作相关

  • os.sep
    输出操作系统特定的路径分隔符,win为‘\’,linux为‘/’
  • os.linesep
    输出操作系统的行终止符,win为‘\t\n’,linux为‘\n’
  • os.pathsep
    输出操作系统分割文件路径的字符串,win为; linux为:
  • os.name
    输出字符串表示当前使用平台。win为nt,linux为posix
  • os.environ
    获取系统环境变量
  • os.system("command")
    执行系统命令,直接输出,无法赋值给变量

文件路径操作方法

  • os.path.abspath(path)
    返回一个文件的标准化绝对路径
  • os.path.split(path)
    将一个路径分割为目录和文件名两部分,并以元祖形式返回
  • os.path.dirname(path)
    返回path的目录,即os.path.split(path)结果的第一部分
  • os.path.basename(path)
    返回path的文件名,如果以‘/’或者‘'结尾,那么会返回空值,即os.path.split(path)结果的第二部分
  • os.path.exists(path)
    如果path存在,则返回True,否则返回False
  • os.path.isabs(path)
    判断path是否为绝对路径,是则返回True,否则返回False
  • os.path.isfile(path)
    判断path是否一个存在的文件,是则返回True,否则返回False
  • os.path.isdir(path)
    判断path是否是一个存在的目录,是则返回True,否则返回False
  • os.path.join(path1,[path2[,....])
    将多个路径组合后返回,第一个绝对路径之前的参数会被忽略
  • os.path.getatime(path)
    返回path所指向的文件或者目录的最后读取时间
  • os.path.getmtime(path)
    返回path所指向的文件或者目录的最后修改时间

sys模块概述

这个模块可供访问由解释器使用或维护的变量和与解释器进行交互的函数,sys是和解释器系统的交互,而os是和操作系统低层进行交互,这是两者区别

sys模块常用方法

  • sys.argv:
    实现从程序外部向程序传递参数,并将参数保存在列表中以供调用
#!/usr/bin/env python
import sys
print sys.argv[0]
print sys.argv[1]
################
python sys.py argv1
#sys.py
#argv1
  • sys.exit([arg])
    程序中间的退出,arg指定退出码,0代码为正常退出
  • sys.getdefaultencoding()
    获取系统当前编码
  • sys.setdefaultencoding(arg)
    设置当前系统的编码
  • sys.getfilesystemencoding()
    获取文件系统当前编码
  • sys.path
    获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到,类似于linux中的PATH环境变量
  • sys.stdin,sys.stdout,sys.stderr
    stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
# 简单的进度条函数
import sys
import time

for i in range(10):
    sys.stdout.write('#') #向屏幕输出#字符号
    time.sleep(0.1)
    sys.stdout.flush() #由于输出字符会先写在缓存中,因此不加此参数,
    #号会在循环完成后一起输出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章