Python之OS模块函数

Python中的os模块提供了操作系统相关功能的函数,可以更加方便的在python脚本中对linux的文件目录的处理和shell的应用。

 

os.system("bash")

运行shell命令,直接显示

 

#应用ls命令查看当前目录下的文件
>>> import os
>>> print(os.system('ls'))
alien_invasion.py  anzhaung.py    mpl_squares.py    Python-3.6.3  Python-3.6.3.tgz    Python-3.6.3.tgz.1  root.py
>>> 

 

 

os.environ

获取环境变量

>>> print(os.environ)
{'MAVEN_HOME': '/usr/local/maven', 'LESSOPEN': '||/usr/bin/lesspipe.sh %s', 'SSH_CLIENT': '1.202.148.250 55342 22', 'LOGNAME': 'root', 'USER': 'root', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
..........
>>>

 

os.getcwd()

获取当前工作目录,即当前python脚本工作的目录路径

>>> print(os.getcwd())
/home/feiji
>>> 

 

os.chdir()

修改当前脚本的工作目录,相当于cd

>>> os.chdir("/home")
>>> print(os.getcwd())
/home
>>> 

 

os.curdir

返回当前目录 ‘.’   我理解的是上面用os.chdir修改了工作目录,这里返回的话应该是/home/feiji才对,但是确实/home

>>> os.curdir
'.'
>>> print(os.getcwd())
/home

 

os.makedirs('目录1/目录2')

生成多层递归目录相当于 mkdir -r

 

>>> os.makedirs('new1/new2')
>>> print(os.system('ls'))
1.sh  3.sh         5.sh  admin  b.sh         feiji    funcation.sh           jq.sh  user_00  user_02    user_04  user_06  user_08  user_10  user_12  user_14  user_16  user_18    user_20
2.sh  47.98.190.211  abc   a.tex  error.log  free.sh  jdk-8u131-linux-x64.rpm  new1   
>>> 

 

 

os.mkdir('新目录')

生成单层新目录

 

>>> os.mkdir('new2')
>>> print(os.system('ls'))
1.sh  47.98.190.211  admin  error.log  funcation.sh        new1     user_01  user_04  user_07  user_10  user_13  user_16  user_19
2.sh  5.sh         a.tex  feiji      jdk-8u131-linux-x64.rpm    new2     

>>> 

 

 

os.removedirs('')

删除多层目录,可以看到上面建立的/new1/new2没有了  注意:只有目录为空时才删除

 

>>> os.removedirs('/home/new1/new2')
>>> print(os.system('ls'))
1.sh  3.sh         5.sh  admin  b.sh         feiji    funcation.sh           jq.sh  user_00  user_02    user_04  user_06  user_08  user_10  user_12  user_14  user_16  user_18    user_20
2.sh  47.98.190.211  abc   a.tex  error.log  free.sh  jdk-8u131-linux-x64.rpm  new2   
>>> 

 

 

os.rmdir('')

删除单层目录

>>> print(os.rmdir('new2'))
None

 

os.remove('')

删除一个文件

>>> print(os.remove('1.sh'))
None

 

os.listdir('')

列出指定目录下的文件和目录

>>> print(os.listdir('feiji'))
['alien_invasion.py', 'anzhaung.py', 'Python-3.6.3', 'root.py', 'Python-3.6.3.tgz.1', 'mpl_squares.py', 'Python-3.6.3.tgz']
>>> 

 

os.rename('old','new')

重命名文件或目录

>>> os.rename('2.sh','22.sh')

 

os.stat('')

查看文件或目录属性信息

>>> os.stat('22.sh')
posix.stat_result(st_mode=33188, st_ino=401743, st_dev=64769L, st_nlink=1, st_uid=0, st_gid=0, st_size=335, st_atime=1564478716, st_mtime=1564478715, st_ctime=1569487383)

你可能感兴趣的