pythonos模块_python 学习笔记 3 os模块介绍

0.前置说明

运行环境:Win7虚拟机、python2.7(anacoda版)

OS模块中有些函数的存在与否以及使用方式是和操作系统息息相关

1.环境变量函数

1.1 os.name

In [1]: import os

In [2]: os.name

Out[2]: 'nt' #nt表示Windows操作系统,如果是posix,说明系统是Linux、Unix或Mac OS X

1.2 os.uname

显示操作系统详细信息,下面的例子是直接copy参考文献的,有机会可以试试。

>>> os.uname()

('Darwin', 'iMac.local', '13.3.0', 'Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64', 'x86_64')

1.3 os.environ

显示系统的环境变量,以dict形式显示.

In [5]: os.environ

Out[5]: {'TMP': 'C:\\Users\\njupt\\AppData\\Local\\Temp', 'COMPUTERNAME': 'NJUPT

_2589D', 'USERDOMAIN': 'NJUPT_2589D', 'PSMODULEPATH': 'C:\\Windows\\system32\\Wi

ndowsPowerShell\\v1.0\\Modules\\', 'COMMONPROGRAMFILES': 'C:\\Program Files (x86

)\\Common Files', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 62 Stepping 4,

GenuineIntel', 'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROCESSOR_REVISION':

'3e04', 'SYSTEMROOT': 'C:\\Windows', 'PATH': 'C:\\Program Files (x86)\\Common F

iles\\NetSarang;C:\\Program Files (x86)\\Parallels\\Parallels Tools\\Application

s;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\Sys

tem32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\TortoiseSVN\\bin;C:\\Program

Files (x86)\\nodejs\\;C:\\Python27;C:\\Program Files\\Java\\jdk1.7.0_71\\bin;C:

\\Program Files\\Java\\jdk1.7.0_71\\jre\\bin;C:\\TDM-GCC-64\\bin;C:\\Users\\njup

t\\Anaconda;C:\\Users\\njupt\\Anaconda\\Scripts;C:\\Ruby21-x64\\bin;C:\\Users\\n

jupt\\AppData\\Roaming\\npm', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)'

#内容太长我就显示一部分了。

1.4 os.getenv

In [7]: os.getenv('path')

Out[7]: 'C:\\Program Files (x86)\\Common Files\\NetSarang;C:\\Program Files (x86

)\\Parallels\\Parallels Tools\\Applications;C:\\Windows\\system32;C:\\Windows;C:

\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\P

rogram Files\\TortoiseSVN\\bin;C:\\Program Files (x86)\\nodejs\\;C:\\Python27;C:

\\Program Files\\Java\\jdk1.7.0_71\\bin;C:\\Program Files\\Java\\jdk1.7.0_71\\jr

e\\bin;C:\\TDM-GCC-64\\bin;C:\\Users\\njupt\\Anaconda;C:\\Users\\njupt\\Anaconda

\\Scripts;C:\\Ruby21-x64\\bin;C:\\Users\\njupt\\AppData\\Roaming\\npm'

使用技巧以及注意事项

貌似里面的参数大小写不限~

2.文件操作函数

2.1 os.path.abspath

此函数用于查看当前目录的绝对路径

In [2]: os.path.abspath('.')

Out[2]: 'C:\\Users\\njupt'

2.2 os.path.join

此函数用于路径合成,第一个参数可以放os.path.abspath函数的返回值,也可以直接放字符串。

极力推荐使用此方法来合成路径,其会自动帮你转成系统可用的路径格式

In [3]: os.path.join(os.path.abspath('.'), 'testdir')

Out[3]: 'C:\\Users\\njupt\\testdir'

2.3 os.mkdir

此函数用于创建文件目录。

In [4]: os.mkdir(os.path.join(os.path.abspath('.'), 'testdir'))

2.4 os.rmdir

此函数用于删除文件目录。

In [6]: os.rmdir(os.path.join(os.path.abspath('.'), 'testdir'))

使用技巧以及注意事项

Windows下面不能删掉非空文件夹。

2.5 os.path.split

此函数将绝对路径拆成文件名和路径两部分

In [7]: os.path.split('C:/names/yob1895.txt')

Out[7]: ('C:/names', 'yob1895.txt')

2.6 os.path.splitext

此函数将绝对路径拆成路径文件和文件后缀两部分

In [8]: os.path.splitext('C:/names/yob1895.txt')

Out[8]: ('C:/names/yob1895', '.txt')

2.7 os.rename

此函数用于重命名文件。如果文件不存在则报错

In [10]: os.rename('test.txt', 'test.py')

2.8 os.remove

此函数用于删除文件,文件不存在时报错

In [13]: os.remove('test.py')

2.9 os.getcwd

此函数用于显示当前程序的工作目录

In [2]: os.getcwd

Out[2]: 'C:\\Users\\njupt'

2.10 os.chdir

此函数用于改变程序的工作目录

In [2]: os.getcwd()

Out[2]: 'C:\\Users\\njupt'

In [3]: os.chdir('C:\\wamp')

In [4]: os.getcwd()

Out[4]: 'C:\\wamp'

3 一个抄来的例子

感觉本文开头的引文中的一个小例子不错可以抄来学习一下。

#这一行代码的目的是显示当前目录中所有的目录

In [12]: [x for x in os.listdir('.') if os.path.isdir(x)]

Out[12]:

['.android',

'.config',

'.continuum',

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值