Python教程:os模块

Python教程:os模块


发布日期: 1970-01-01 更新日期: 2015-01-29 编辑:bukun 浏览次数: 4615

标签:

摘要: 这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep可以取代操作系统特定的路径分割符。 下...

这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep可以取代操作系统特定的路径分割符。 下面直接看代码吧:

#!/usr/bin/python
# -*- coding:utf-8 -*-
import os
# 定义几个函数
def del_file(wpath):
    os.remove(wpath)  # 删除文件
def del_dir(wpath):
    os.removedirs(wpath)  # 删除空文件夹
def gen_dir(wpath):
    if os.path.exists(wpath):
        pass
    else:
        os.mkdir(wpath)  # 建立文件夹
def gen_file(wpath):
    if os.path.exists(wpath):
        pass
    else:
        os.mknod(wpath)  # 建立文件
print(os.sep) 
print(os.linesep) # 字符串给出当前平台使用的行终止符
# print(os.environ)
if os.name == 'posix':
    home_path = os.environ['HOME']
    home_path = os.getenv('HOME')  #读取环境变量  
elif os.name == 'nt':
    home_path = 'd:'  # win 下未测试
# 定义进行测试的文件夹与文件的名称
tep_dir = 'xx_tep'
tep_dir_a = 'tep_dir_a'
tep_dir_b = 'tep_dir_b'
tep_file_a = 'tep_file_a.txt'
tep_file_b = 'tep_file_b.py'
tep_file_c = 'tep_file_c.c'
# 合成文件夹与文件的全路径
path_tep = os.path.join(home_path, tep_dir)
path_dir_a = os.path.join(path_tep, tep_dir_a)
path_dir_b = os.path.join(path_tep, tep_dir_b)
path_file_a = os.path.join(path_dir_a, tep_file_a)
path_file_b = os.path.join(path_dir_a, tep_file_b)
path_file_c = os.path.join(path_dir_b, tep_file_c)
# 在系统内生成相应的文件夹与文件
gen_dir(path_tep)
gen_dir(path_dir_a)
gen_dir(path_dir_b)
gen_file(path_file_a)    
gen_file(path_file_b)
gen_file(path_file_c)
cwd = os.getcwd() # 得到当前工作目录,即当前Python脚本工作的目录路径。wlist = os.listdir(cwd)
for wli in wlist:
    print(wli)
os.chdir(path_tep) # 切换路径
cwd = os.getcwd() # 得到当前工作目录,即当前Python脚本工作的目录路径。wlist = os.listdir(cwd)
for wli in wlist:
    print(wli)
if os.path.isdir(path_dir_a): # 判断是否文件夹
    tep_size = os.path.getsize(path_dir_a)  
    print(tep_size)
if os.path.isfile(path_file_a):
    tep_size = os.path.getsize(path_file_a) # 获得文件大小
    print(tep_size)
for wroot, wdirs, wfiles in os.walk(path_tep):
    for wfile in wfiles:
        file_path = os.path.abspath(wfile) # 获得绝对路径
        print(file_path)
# 返回文件名
filename = os.path.basename(path_file_a)
print(filename)
# 返回文件路径
dirname = os.path.dirname(path_file_a)
print(dirname)
# 分割文件名与目录
# 事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,# 同时它不会判断文件或目录是否存在
(filepath, filename) = os.path.split(path_file_a)
print(filepath, filename)
(fname, fext) = os.path.splitext(filename) # 分离文件名与扩展名
print(fname, fext)
# 清理文件与文件夹
del_file(path_file_a)
del_file(path_file_b)
del_dir(path_dir_a)
del_file(path_file_c)
del_dir(path_dir_b)

返回目录: http://www.osgeo.cn/page/python_tutorial.html

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org