Python不归路_os和system模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python不归路_os和system模块相关的知识,希望对你有一定的参考价值。

OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作,OS模块提供对操作系统进行调用的接口。

几个重要函数:

os.getcwd()#查看当前所在路径,默认是Python程序所在路径
os.chdir()#切换目录,功能和linux中cd命令一样
os.curdir#返回当前目录‘.’
os.pardir#返回当前父目录‘..’
os.makedirs()#新建多级目录,功能和linux中的mkdir -p命令一样
os.removedirs()#删除多级目录,若目录非空,无法删除,以此类推
os.mkdir()#新建单级目录
os.rmdir()#删除单级目录
os.listdir()#列出制定目录下所有的目录和文件,以列表形式放回
os.remove()#删除文件
os.rename()#重命名文件
os.stat()#获取目录和文件信息
os.sep#输出当前操作系统分隔符,windows为‘\\’,Linux为‘/’
os.linesep#输出当前操作系统行终止符,windows为‘\t\n’,Linux为‘\n’
os.pathsep#输出用于分割文件路径的字符串
os.name#输出当前使用平台,windows为‘nt’,Linux为‘postix’
os.system()#输出Linux命令
os.environ()#获取系统环境变量
os.path.abspath()#输出绝对路径
os.path.split()#将path分割成目录和文件名的二元组返回
os.path.dirname()#返回path的目录
os.path.basename()#返回path最后的文件名
os.path.exists()#判断路径是否存在,返回Ture或False
os.path.isabs()#判断路径是否绝对路径,返回True或False
os.path.isflie()#判读是否是文件,返回True或False
os.path.isdir()#判断是否是目录,返回True或False
os.path.join()#将多个文件组合返回
os.path.getatime()#获取路径最后存取时间
os.path.getmtime()#获取路径最后修改时间

我们来看下各个函数的例子:

1.os.getcwd()、os.chdir()

import os
os.getcwd() #当前所在目录
os.chdir(rd:\\) #切换路径 
os.getcwd()

 输出结果:

D:\\Program Files\\python3.6
d:\\

2.os.curdir和os.pardir 

os.curdir
os.pardir

 输出结果:

.
..

3.os.makedirs()

新建多级目录,类似Linux中mkdir -p的作用。

import os
os.path.exists(d:\\234) #检查d:\\234目录是否存在
os.makedirs(d:\\234\\234) #新建多级目录 d:\\234\\234
os.path.exists(‘d:\\234‘) #检查d:\\234目录是否存在 os.path.exists(
d:\\234\\234)#检查d:\\234\\234目录是否存在

输出结果:

False #d:\\234目录不存在
True #d:\\234目录存在
True #d:\\234\\234目录存在

使用os.makedirs()函数同时新建了d:\\234及d:\\234\234两个目录,且这两个目录是父子关系。

4.os.removedirs()

import os
print(os.path.exists(d:\\234))
print(os.path.exists((d:\\234\\234))#判断d:\\234\\234目录是否存在
os.removedirs(d:\\234\\234)#删除d:\\234下所有,包括子目录\\234
print(os.path.exists(d:\\234))#判断是否已经删除子目录\\234

输出结果:

True
True
False

从os.path.exists(‘d:\\234’)的输出结果来看,表明os.removedirs()已经将d:\\234和子目录\\234都删除了。

5.os.mkdir和os.rmdir

os.mkdir和os.rmdir用法和Linux中mkdir、rmdir一样,新建、删除目录。

import os
print(os.path.exists(d:\\234))
os.mkdir(d:\\234)
print(os.path.exists(d:\\234))
os.rmdir(d:\\234)
print(os.path.exists(d:\\234))

输出结果:

False
True
False

6.os.listdir

import os
print(os.listdir(‘d:\\’))

输出结果:

[$RECYCLE.BIN, 360安全浏览器下载, BaiduNetdiskDownload, dameware7.5.5, MSOCache, Office_2013_X64, Program Files, Program Files (x86), python, System Volume Information, Users]

os.listdir()函数以列表的形式返回结果,输出该路劲下所有的目录。

7.os.remove和os.rename

os.remove()删除文件,os.rename(oldname,newname)重命名文件

import os
print(os.path.exists(‘d:\\python.txt‘))
os.rename(‘d:\\python.txt‘,‘d:\\python123.txt‘)
print(os.path.exists(‘d:\\python123.txt‘))
print(os.path.exists(‘d:\\python.txt‘))
os.remove(‘d:\\python123.txt‘)
print(os.path.exists(‘d:\\python123.txt‘))
输出结果: 
True
True  #os.rename()把python.txt重名为python123.txt
False #python.txt已被重名为python123.txt
False #python已被os.remove()删除

 8.os.stat()

import os
print(os.stat(d:\\))

输出结果:

os.stat_result(st_mode=16895, st_ino=1407374883553285, st_dev=731043, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1505912747, st_mtime=1505912747, st_ctime=1505665043)

9.os.system()

os.system()输出Linux 命令。

10.os.path.abspath()

 os.path.abspath()输出绝对路径

import os
print(os.getcwd())
print(os.path.abspath(‘234.txt‘))
os.chdir(‘d:\\‘)
print(os.path.abspath(‘234.txt‘))

输出结果:

E:\Len_Pyt #当前路径
E:\Len_Pyt\234.txt #输出绝对路径
d:\234.txt #修改d:\\后,输出绝对路径

11.os.path.split(),os.path.dirname(),os.path.basename()

os.path.split() 将path分割成目录和文件名的二元组返回

os.path.dirname() 返回path的目录

os.path.basename() 返回path最后的文件名

12.os.path.exists(),os.path.isfile(),os.path.isdir(),os.path.isabs()

依次判断路径是否存在,是否是文件,是否是目录,是否绝对路劲,返回布尔值。

13.os.path.getatime()#获取路径最后存取时间

  os.path.getmtime()#获取路径最后修改时间

sys模块:

sys.argv #获取脚本名后的参数
sys.exit(n) #调用sys.exit(n)可以中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。
sys.path() #获取所有python路径
sys.path.insert() #插入python模块
sys.platfrom() #获取当前平台
  • sys.argv: 实现从程序外部向程序传递参数。

  • sys.exit([arg]): 程序中间的退出,arg=0为正常退出。

  • sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。

  • sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding(‘utf8‘),此时将系统默认编码设置为utf8。(见设置系统默认编码 )

  • sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回‘mbcs‘,mac下返回‘utf-8‘.

  • sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。

  • sys.platform: 获取当前系统平台。

  • sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

 

 

 

 

  










以上是关于Python不归路_os和system模块的主要内容,如果未能解决你的问题,请参考以下文章

Python不归路_configparser模块

Python不归路_logging模块

Python不归路_xml.etree.ElementTree模块

Python不归路_装饰器

Python不归路_装饰器

Python不归路_生成器