In [1]: import os
In [2]: os.name
Out[2]: \'nt\' #nt表示Windows操作系统,如果是posix,说明系统是Linux、Unix或Mac OS X
显示操作系统详细信息,下面的例子是直接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\')
显示系统的环境变量,以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)\'
#内容太长我就显示一部分了。
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\'
此函数用于查看当前目录的绝对路径
In [2]: os.path.abspath(\'.\')
Out[2]: \'C:\\\\Users\\\\njupt\'
此函数用于路径合成,第一个参数可以放os.path.abspath
函数的返回值,也可以直接放字符串。
极力推荐使用此方法来合成路径,其会自动帮你转成系统可用的路径格式
In [3]: os.path.join(os.path.abspath(\'.\'), \'testdir\')
Out[3]: \'C:\\\\Users\\\\njupt\\\\testdir\'
此函数用于创建文件目录。
In [4]: os.mkdir(os.path.join(os.path.abspath(\'.\'), \'testdir\'))
此函数用于删除文件目录。
In [6]: os.rmdir(os.path.join(os.path.abspath(\'.\'), \'testdir\'))
此函数将绝对路径拆成文件名和路径两部分
In [7]: os.path.split(\'C:/names/yob1895.txt\')
Out[7]: (\'C:/names\', \'yob1895.txt\')
此函数将绝对路径拆成路径文件和文件后缀两部分
In [8]: os.path.splitext(\'C:/names/yob1895.txt\')
Out[8]: (\'C:/names/yob1895\', \'.txt\')
此函数用于重命名文件。如果文件不存在则报错
In [10]: os.rename(\'test.txt\', \'test.py\')
此函数用于删除文件,文件不存在时报错
In [13]: os.remove(\'test.py\')
此函数用于显示当前程序的工作目录
In [2]: os.getcwd
Out[2]: \'C:\\\\Users\\\\njupt\'
此函数用于改变程序的工作目录
In [2]: os.getcwd()
Out[2]: \'C:\\\\Users\\\\njupt\'
In [3]: os.chdir(\'C:\\\\wamp\')
In [4]: os.getcwd()
Out[4]: \'C:\\\\wamp\'
感觉本文开头的引文中的一个小例子不错可以抄来学习一下。
#这一行代码的目的是显示当前目录中所有的目录
In [12]: [x for x in os.listdir(\'.\') if os.path.isdir(x)]
Out[12]:
[\'.android\',
\'.config\',
\'.continuum\',