python os模块练习题
# 1、获取某个文件所在目录的上一级目录。
# 例如'D:\python\projects\test19.py'目录的结果 :D:\python\projects
# 方法1
# path = os.path.dirname(r'D:\python\projects\test19.py')
# base_name = os.path.dirname(path)
# print(base_name)
# 方法2
# base_name = os.path.dirname(os.path.dirname(r'D:\python\projects\test19py'))
# print(base_name)
2、写一个函数,接受一个参数,如果是文件,就执行这个文件,如果是文件夹,就执行这个文件夹下所有的py文件
def func(path):
# 先判断这个path是文件还是文件夹,isdir isfile
# 如果是文件,.py结尾的
if os.path.isfile(path) and path.endswith('.py'):
# 执行这个文件 :
os.system('python %s'%path) # 模拟了在cmd中执行代码的过程
# 如果是文件夹
elif os.path.isdir(path):
# 查看这个文件夹下的所有内容 listdir
for name in os.listdir(path):
abs_path = os.path.join(path,name)
# 如果是文件 .py结尾的
if abs_path.endswith('.py'):
# 执行这个文件 : os.system('python %s'%abs_path)
os.system('python %s' % abs_path) func(r'D:\python\PycharmProjects\ob3\test19.py')
# 3、写一个copy函数,接受两个参数,第一个参数是源文件的位置,第二个#参数是目标位置,将源文件copy到目标位置。
# 还需要判断一下这个文件之前是否存在
# def copy(path1,path2):
# filename = os.path.basename(path1)
# if os.path.isfile(path1) and os.path.isdir(path2):
# path2 = os.path.join(path2,filename)
# if os.path.exists(path2):print('已有同名文件')
# with open(path1,'rb') as f1,open(os.path.join(path2,filename),'wb') as f2:
# content = f1.read()
# f2.write(content)
# 4,使用python代码统计一个文件夹中所有文件的总大小
# 递归
# def func(path):
# size_sum=0
# name_list=os.listdir(path)
# for name in name_list:
# path_abs=os.path.join(path,name)
# if os.path.isdir(path_abs):
# size=func(path_abs)
# size_sum+=size
# else:
# size_sum+=os.path.getsize(path_abs)
# return size_sum
# ret=func(r'D:/python/PycharmProjects')
# print(ret) # 用循环解决:
# lst=[r'D:/python/PycharmProjects']
# size_sum=0
# while lst:
# path=lst.pop()
# path_list=os.listdir(path)
# for name in path_list:
# path_abs=os.path.join(path,name)
# if os.path.isdir(path_abs):
# lst.append(path_abs)
# else:
# size_sum+=os.path.getsize(path_abs)
# print(size_sum)
python os模块练习题的更多相关文章
- Python::OS 模块 -- 进程参数
os模块的简介请参看 Python::OS 模块 -- 简介 os模块的文件和目录操作 Python::OS 模块 -- 文件和目录操作 os模块的进程管理 Python::OS 模块 -- 进程管理 ...
- Python::OS 模块 -- 进程管理
os模块的简介参看 Python::OS 模块 -- 简介 os模块的文件相关操作参看 Python::OS 模块 -- 文件和目录操作 os模块的进程参数 Python::OS 模块 -- 进程参数 ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
- Python::OS 模块 -- 简介
OS 模块简介 OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能.使用OS模块中提供的接口,可以实现跨平台访问.但是在OS模块中的接口并 ...
- Python OS模块标准库的系统接口及操作方法
Python OS模块标准库的系统接口及操作方法 os.name 返回当前操作系统名,定义了'posix','nt','mac','os2','ce','java'(我使用win7/python3.1 ...
- python os模块学习
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...
- python os模块详解
一.Python os模块(Linux环境) 1.1 执行shell命令 os.system('cmd') 执行命令不保存结果 os.popen('command') 执行后返回结果,使用.read( ...
- Python OS模块常用功能 中文图文详解
一.Python OS模块介绍 OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作. 可以查看OS模块的帮助文档: >>> i ...
- Python OS模块重要知识点
Python OS模块重要知识点 这几点很重要,主要是关于文件路径,我之前踩了很多坑,今天总结一下,方便以后能够避免与path相关的各种坑! 1,首先我们想获取某个文件夹下面的所有文件夹以及文件(不包 ...
随机推荐
- 关于 Android Studio 如何连接手机调试
第一步:设置-> 打开开发者选项,以及USB调试模式 第二步:关于手机->版本号,点击版本号会弹出提示:已经处于开发者模式,无需操作 第三步:设置->在搜索框中输入HDB,此时会弹出 ...
- Struts2_HelloWorld1
打开 eclipse,新建 web 项目. 因为可能需要 jstl 表达式,所以添加 jstl需要的jar包. 下载链接:http://pan.baidu.com/s/1hr6mBI0 将jar拷贝至 ...
- UDoc(云平台企业应用级 文档管理产品)
类型: 定制服务 软件包: integrated industry solution collateral 联系服务商 产品详情 解决方案 概要 为企业提供基于云平台企业应用级文档管理产品,尽可能最大 ...
- Azure 5 月新公布(二)
Azure 5 月新发布(二):CDN 图片处理功能, CDN Restful API, 新版 CDN 管理门户, 计量名称变更延期 Azure CDN 图片处理功能开放公共预览版 Azure CD ...
- 国外统计学课程主页Statistical Books, Manuals and Journals
国外统计学课程主页Statistical Books, Manuals and Journalshttp://statpages.info/javasta3.html
- 对json数据进行排序
项目有这样一个需要对数据库取出的数据按sort字段进行显示:这个时候想起来在JS中对json数据进行一个排序再进行数据填充可以实现此效果 var colId = "sort";// ...
- 五环之歌之PHP分页
根据以往的经验,对于很多初学者,分页功能实现起来还是有一定的困难的,为了帮大家解决这样的问题:特此献上五环之歌.从此分页功能便是如小岳岳唱歌一样简练,漂亮,精干.哈哈,不闲扯了.正式进入千锋PHP五环 ...
- SQL:数据库批量插入数据
测试中有些功能要求有足够的数据进行测试,当输入字段较多时通过页面添加很慢.业务只关联单个数据库表可以通过数据库批量插入数据 批量插入数据示例: declare @i int--声明变量 --变量初始化 ...
- 增量数据同步中间件DataLink分享(已开源)
项目介绍 名称: DataLink['deitə liŋk]译意: 数据链路,数据(自动)传输器语言: 纯java开发(JDK1.8+)定位: 满足各种异构数据源之间的实时增量同步,一个分布式.可扩展 ...
- http主要内容流程介绍
从这张图可以看出,从输入网址,按下回车的那一刻起,就开始了Redirect,那么为什么一开始就redirect呢?因为我们的浏览器可能记录了你的这个地址,以及永久跳转成一个新的地址了,所以一开始浏览器 ...