您的位置:首页 > 编程语言 > Python开发

Python学习18:os标准库模块使用(一)

2014-07-25 14:06 666 查看
这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。
即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。
一个例子就是使用
os.sep
可以取代操作系统特定的路径分割符。
下面列出了一些在
os
模块中比较有用的部分。它们中的大多数都简单明了。

os.name
字符串指示你正在使用的平台。比如对于Windows,它是
'nt'
,而对于Linux/Unix用户,它是
'posix'


os.getcwd()
函数得到当前工作目录,即当前Python脚本工作的目录路径。

os.getenv()
os.putenv()
函数分别用来读取和设置环境变量。

os.listdir()
返回指定目录下的所有文件和目录名。

os.remove()
函数用来删除一个文件。

os.system()
函数用来运行shell命令。

os.linesep
字符串给出当前平台使用的行终止符。例如,Windows使用
'\r\n'
,Linux使用
'\n'
而Mac使用
'\r'


os.sep代替文件目录分隔符,llinux:'/' windows:'\\'

os.rmdir()删除空目录

os.mkdir创建空目录

os.makedirs()创建多层递归目录

os.removedirs()删除剁成递归目录

若要删除非空目录 ,可使用shutil模块中的rmtree函数

os.environ返回环境变量列表

os.getenv()获取单个环境变量的值

os.rename()文件或文件夹重名命名

os.chdir()进入指定目录

#FileName::os_module.py

#输入os标准库模块
import os

try:
#获取平类类型
if os.name == 'nt':
print('当前平台为windows')
#执行外部命令,例如显示文件列表
os.system('dir')
elif os.name == 'posix':
print('当前平台为Linux/Unix')
#执行外部命令,例如显示文件列表
os.system('ls -l')
else:
print('位置类型的平台!')
print('-------------------------')
#获取当前工作路径
print('当前工作路径为:',os.getcwd())
#获取指定环境变量的值
print('环境变量JAVA_HOME的值为:',os.getenv('JAVA_HOME'))
print("-------------------------")

#异常处理嵌套
try:
#创建空文件夹
os.mkdir('新文件夹')
except FileExistsError:
print('文件夹 已经 存在,无需创建')

try:
#删除文件夹
os.rmdir('新文件夹')
#获取当前目录下的文件列表,并打印
except FileNotFoundError:
print('要删除的文件夹不存在,或者已经被删除')

try:
#递归创建一个空的文件夹,os.sep 在此等于 ‘\\’
folderPath = os.getcwd() + os.sep + os.path.join('custom','Python','Folder')
print(folderPath)
os.makedirs(folderPath)
except FileExistsError:
print('多重文件夹已经存在')

try:
os.rmdir('custom')
except OSError:
print('不能使用rmdir删除非空目录')
#递归删除一个文件夹(所有目录级下只有一个相应的文件夹,否则删除不会完整)
os.removedirs(folderPath)

print('打印当前目录下的所有文件夹-----------')
for fileName in os.listdir():
#如果是文件夹,则打印文件夹名
if os.path.isdir(fileName):
print(fileName)

print('获取指定文件的属性:---------------')
st = os.stat("myClass.py")
print(st)

except NameError:
print('抛出异常')


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: