# 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模块练习题的更多相关文章

  1. Python::OS 模块 -- 进程参数

    os模块的简介请参看 Python::OS 模块 -- 简介 os模块的文件和目录操作 Python::OS 模块 -- 文件和目录操作 os模块的进程管理 Python::OS 模块 -- 进程管理 ...

  2. Python::OS 模块 -- 进程管理

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的文件相关操作参看 Python::OS 模块 -- 文件和目录操作 os模块的进程参数 Python::OS 模块 -- 进程参数 ...

  3. Python::OS 模块 -- 文件和目录操作

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...

  4. Python::OS 模块 -- 简介

    OS 模块简介 OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能.使用OS模块中提供的接口,可以实现跨平台访问.但是在OS模块中的接口并 ...

  5. Python OS模块标准库的系统接口及操作方法

    Python OS模块标准库的系统接口及操作方法 os.name 返回当前操作系统名,定义了'posix','nt','mac','os2','ce','java'(我使用win7/python3.1 ...

  6. python os模块学习

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...

  7. python os模块详解

    一.Python os模块(Linux环境) 1.1 执行shell命令 os.system('cmd') 执行命令不保存结果 os.popen('command') 执行后返回结果,使用.read( ...

  8. Python OS模块常用功能 中文图文详解

    一.Python OS模块介绍 OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作. 可以查看OS模块的帮助文档: >>> i ...

  9. Python OS模块重要知识点

    Python OS模块重要知识点 这几点很重要,主要是关于文件路径,我之前踩了很多坑,今天总结一下,方便以后能够避免与path相关的各种坑! 1,首先我们想获取某个文件夹下面的所有文件夹以及文件(不包 ...

随机推荐

  1. c++ 处理utf-8字符串

    c++的字符串中的每一个元素都是一个字节.所以在装入utf8字符串的时候,其实是按照一定的规则编码的. 字符的8位中 如果0开头 则自己就是一个单位. 1字节 0xxxxxxx  2字节 110xxx ...

  2. Android触摸事件MotionEvent详解

    触摸事件MotionEvent在用户交互中,占着非常重要的地位.首先,来看看MotionEvent中封装的一些常用的事件常量,它定义了触摸事件的不同类型. 1.单点触摸按下动作 public stat ...

  3. JQuery中Checkbox选择

    判断是否选中 $(this).is(":checked") 取消选中 $(this).prop("checked", false) 选中 $(this).pro ...

  4. 【Angular JS】正确调用JQuery与Angular JS脚本 - 修复Warning: Tired to load angular more than once

    自己正在做一个小网站,使用Angular JS + Express JS + Mongo DB,在开发过程中,遇到一些问题,所以整理出来.希望对大家都有帮助. 这是今天解决的一个问题,Angular ...

  5. js有限状态机

    http://www.ruanyifeng.com/blog/2013/09/finite-state_machine_for_javascript.html 有限状态机(Finite-state m ...

  6. 数据结构(C#):图的最短路径问题、(Dijkstra算法)

    今天曾洋老师教了有关于图的最短路径问题,现在对例子进行一个自己的理解和整理: 题目: 要求:变成计算出给出结点V1到结点V8的最短路径 答: 首先呢,我会先通过图先把从V1到V8的各种路径全部计算下来 ...

  7. April 20 2017 Week 16 Thursday

    We are all in the gutter, but some of us are looking at the stars. 我们都生活在阴沟里,但仍有人仰望星空. In the past m ...

  8. java调用dll库

    1.dll叫动态链接库,作用是用某种语言封装好某些函数生成可供不同语言调用的.dll文件,通常是用C++编写生成,因为C++可以对很多硬件操作方便而其他高级语言不行 2.dll生成参考:http:// ...

  9. 【转载】#330 - Derived Classes Do Not Inherit Constructors

    A derived class inherits all of the members of a base class except for its constructors. You must de ...

  10. 创建一个gradle项目

    1.创建项目 一定要选这个安装的路径 项目创建成功,修改build.gradle文件,主要是为了下载依赖的jar包,原始模板, 而我修改之后,如下 apply plugin: 'idea' apply ...