python中对文件、文件夹的操作需要涉及到os模块和shutil模块。

创建文件:

1) os.mknod("test.txt") 创建空文件

2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件

创建目录:

os.mkdir("file") 创建目录

os.makedirs('file') 创建多级目录

复制文件:

shutil.copyfile("oldfile","newfile") oldfile和newfile都只能是文件

shutil.copy("oldfile","newfile") oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

复制文件夹:

shutil.copytree("olddir","newdir") olddir和newdir都只能是目录,且newdir必须不存在

重命名文件(目录)

os.rename("oldname","newname") 文件或目录都是使用这条命令

移动文件(目录)

shutil.move("oldpos","newpos")

删除文件

os.remove("file")

删除目录

os.rmdir("dir") 只能删除空目录

shutil.rmtree("dir") 空目录、有内容的目录都可以删

转换目录

os.chdir("path") 换路径

判断目标

os.path.exists("goal") 判断目标是否存在

os.path.isdir("goal") 判断目标是否目录

os.path.isfile("goal") 判断目标是否文件

os.walk遍历rootdir的根目录,返回父目录名字,文件夹名字列表,文件名字列表

#for parent,dirnames,filenames in os.walk(rootdir):

#        for dirname in dirnames:

#                print "parent is :"+parent

#                print "dirname is :"+dirname

#                if dirname.startswith('Day'+)

#

#        for filename in filenames:

#                print "parent is:"+parent

#                print "filename is :"+filename

#                print "the full name of the file is:"+os.path.join(parent,filename)#组合在一起

批量从某个目录下复制东西到新的目录:

#coding=UTF-8

import os

import os.path

import shutil

oldrootdir=r'F:\安卓学习\Android'

newrootdir=r'F:\安卓学习\打包代码-送人'

i=10

for olddirname in os.listdir(oldrootdir):

if olddirname.startswith('Day'+str(i)):

print olddirname

i+=1

for olddestname in os.listdir(oldrootdir+'\\'+olddirname):

baseoldname=oldrootdir+'\\'+olddirname

if olddestname.startswith("PPT"):

shutil.copytree(baseoldname+'\\'+olddestname,newrootdir+'\\'+olddirname+'\\'+olddestname)

if olddestname.startswith("作业"):

shutil.copytree(baseoldname+'\\'+olddestname,newrootdir+'\\'+olddirname+'\\'+olddestname)

批量删除目录:

#coding=UTF-8

import os

name=r'F:\安卓学习\打包代码-送人'

i=1

for dirname in os.listdir(name):

if dirname.__eq__('DAY0'+str(i)):

os.rmdir(name+'\\'+dirname)

i+=1

判断大小筛选:

#coding=UTF-8

import os

name=r'F:\代码Demo习题集\python\python代码\爬虫'

for jpgname in os.listdir(name):

if jpgname.endswith('.jpg'):

size=os.path.getsize(jpgname)

if size<200000:

os.remove(jpgname)

python中文件类的应用的更多相关文章

  1. Python基础之:Python中的类

    目录 简介 作用域和命名空间 class 类对象 类的实例 实例对象的属性 方法对象 类变量和实例变量 继承 私有变量 迭代器 生成器 简介 class是面向对象编程的一个非常重要的概念,python ...

  2. Python中的类、对象、继承

    类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...

  3. python中的类和实例

    今天花了两个多小时后搜索相关博客看了看python中有关类和实例的介绍,差不多大概明白了. python中的类和c++中的类是一样的,不同之处就是c++的类,如果含有成员变量,并且成员变量发生变化后, ...

  4. python中文件的复制

    python中文件的复制 python的os模块有很多文件目录相关的函数,但没有提供直接复制文件的函数,当然可以通过边都边写的方式复制文件.想要直接复制文件可以通过shutil模块 shutil模块是 ...

  5. python 中文件输入输出及os模块对文件系统的操作

    整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...

  6. 4、Python中的类详解(0601)

    <大话数据结构>的作者程杰在博客园也有博客,网址是:http://cj723.cnblogs.com/ 面向对象编程(OOP) 1.程序 = 指令 + 数据 代码可以选择以指令为核心或以数 ...

  7. Python中的类(上)

    在Python中,可以通过class关键字定义自己的类,然后通过自定义的类对象类创建实例对象. 例如,下面创建了一个Student的类,并且实现了这个类的初始化函数"__init__&quo ...

  8. python中文件变化监控-watchdog

    在python中文件监控主要有两个库,一个是pyinotify ( https://github.com/seb-m/pyinotify/wiki ),一个是watchdog(http://pytho ...

  9. python中新式类和经典类

    python中的类分为新式类和经典类,具体有什么区别呢?简单的说, 1.新式类都从object继承,经典类不需要. Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Pyth ...

随机推荐

  1. Ehcache Java开源缓存框架

    一.ehcache.xml 配置详解 单机配置: <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

  2. eclipse环境NDK问题汇总

    1. 配置NDK路径设置 可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home\<你的用户名>\.bash_profile 文件中最后添加环境变量 NDK=/ ...

  3. Java如何将Exception.printStackTrace()转换为String输出

    package com.test1; import java.io.PrintWriter; import java.io.StringWriter; public class T010 { /** ...

  4. Tornado源码探寻(准备阶段)

    上一篇从一个简单的例子大致了解到Tornado框架的一个概述,同时也看清了web框架的本质. 接下来,我们从tornado程序的起始来分析其源码: 一.概述 上图是摘自朋友的博客里的内容,这张图很明确 ...

  5. Yii常用技巧总结

    //YII framework路径 Yii::getFrameworkPath(); //protected/runtime Yii::app()->getRuntimePath(); //pr ...

  6. 8-3-COMPETITION

    链接:8.3比赛 这次是动态规划里的LCS,LIS,LCIS专场....... A.Common Subsequence 就是:给出两个字符串,求出其中的最长公共子序列的长度~LCS 代码: //me ...

  7. 设置button 不可被点击

    mGetCode.setEnabled(false);//不可被点击 mGetCode.setEnabled(true);//可被点击 bt.setClickable(true);//设置点击为tru ...

  8. devm_kzalloc and kmalloc

    Move resources allocated using unmanaged interface to managed devm interface So today let's talk abo ...

  9. ADO.NET与Oracle(一):获取多行记录集

    近期接触ADO.NET和Oracle.将我寻常遇到的一些问题和大家共享. 我认为要想入门ADO.NET操作Oracle,最主要的要求就是要会通过ADO.NET更新Oracle中的数据. 该文简单讲些利 ...

  10. 即时通讯(IM)

    即时通讯(IM)功能是APP的重要功能之一,而开发好移动IM却绝非易事.通常来说,IM技术选型至少要解决以下问题:1. 协议选型 2. IM服务器选型 3. 对协议和服务器做相应修改,通常来说直接拿个 ...