pythonos模块_Python教程:os模块

这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在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)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值