python对文件目录的操作方法实例总结


Posted in Python onJune 24, 2019

本文实例讲述了python对文件目录的操作方法。分享给大家供大家参考,具体如下:

python 可以很方便的对文件进行打开,读写操作,删除操作,也可以很方便的对文件夹进行遍历操作。总体说来,有如下几个方面:

1. python 遍历文件目录,当然可以递归
2. python 删除文件
3. python 对文件进行重命名操作
4. python 创建文件夹 (多个层级创建)
5. python 删除文件夹  (多个层级删除)
6. python 移动文件
7. python 查找文件
8. 得到文件夹的大小

下面的代码是我在用python 做一个网盘服务端的时候用到的一些方法,记录下来,以供以后参考.

#coding:utf-8
import StringIO
import json
import os
import time
import glob
import shutil
DATETIMEFORMATER='%Y-%m-%d %X'
#only for windows
RECYCLED_FOLDER_NAME='Recycled'
def dateformat(datetime):
  '''return GMT TIME,need to change to LOCAL TIME'''
  return time.strftime( DATETIMEFORMATER,time.gmtime(datetime) )
def filesizeformat(size):
  ''' Convert file size to string '''
  KBSIZE=1024.00
  strSize='0 Byte'
  if (size < KBSIZE):
    strSize = '%.2f Byte' % (size)
  elif (size >= KBSIZE and size < KBSIZE**2):
    strSize = '%.2f K' % (size / KBSIZE)
  elif (size >= KBSIZE**2 and size < KBSIZE**3):
    strSize = '%.2f M' % (size / KBSIZE / KBSIZE)
  elif (size >= KBSIZE**3):
    strSize = '%.2f G' % (size / KBSIZE / KBSIZE / KBSIZE)
  return strSize
def listdir(path):
  if os.path.isfile(path):
    return '[]'
  allFiles=os.listdir(path)
  retlist=[]
  for cfile in allFiles:
    fileinfo={}
    filepath=(path+os.path.sep+cfile).replace("\\","/")
    if cfile==RECYCLED_FOLDER_NAME:
      continue
    if os.path.isdir(filepath):
      fileinfo['isfile'] = '0'
      fileinfo['size'] = getfoldersize(filepath)
    else:
      fileinfo['isfile'] = '1'
      fileinfo['size'] = os.path.getsize(filepath)
    fileinfo['name'] = cfile
    fileinfo['lastvisittime'] = dateformat( os.path.getatime(filepath) )
    fileinfo['createtime'] = dateformat( os.path.getctime(filepath) )
    fileinfo['lastmodifytime'] = dateformat( os.path.getmtime(filepath) )
    retlist.append(fileinfo)
  retStr=json.dumps(retlist,encoding='utf-8')
  return retStr
def deletefile(path):
  if os.path.exists(path):
    os.remove(path)
def rename(old,new):
  if os.path.exists(old):
    os.rename(old, new)
def checkoutfile(path):
  pass
def checkinfile(path):
  pass
def lockfile(path):
  pass
def unlockfile(path):
  pass
def createfolder(path):
  if not os.path.exists(path):
    os.mkdir(path)
def createfolders(path):
  if not os.path.exists(path):
    os.makedirs(path);
def deletefolder(path):
  if os.path.isdir(path):
    os.rmdir(path)
def retreeExceptionHandler(fun,path,excinfo):
  pass
def deletefolders(path):
#  if os.path.isdir(path):
#    os.removedirs(path)
  shutil.rmtree(path,ignore_errors=False,onerror=retreeExceptionHandler)
def movefile(old,new):
  shutil.move(old, new)
def getfoldersize(path):
  size = 0
  for root, dirs, files in os.walk(path):
    size += sum([os.path.getsize(os.path.join(root, name)) for name in files])
  return size
def searchfile(path,ext):
  returnList=glob.glob1(path, ext)
  return returnList
if __name__=='__main__':
  listdir('c:/vDriver')
  #searchfile('c:/vDriver','*.log')

上面的代码,根据方法的命名,就可以知道 python 操作文件以及文件夹的各种方法。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python基于itchat实现微信群消息同步机器人
Feb 27 Python
Python实现随机生成有效手机号码及身份证功能示例
Jun 05 Python
Python实现字符串逆序输出功能示例
Jun 24 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
Python数据库小程序源代码
Sep 15 Python
python编写微信公众号首图思路详解
Dec 13 Python
pytorch中获取模型input/output shape实例
Dec 30 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 Python
Python如何将装饰器定义为类
Jul 30 Python
Python 创建守护进程的示例
Sep 29 Python
详解10个可以快速用Python进行数据分析的小技巧
Jun 24 #Python
python跳出双层for循环的解决方法
Jun 24 #Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 #Python
解决python执行不输出系统命令弹框的问题
Jun 24 #Python
python实现在cmd窗口显示彩色文字
Jun 24 #Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 #Python
python隐藏终端执行cmd命令的方法
Jun 24 #Python
You might like
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
PHP单例模式实例分析【防继承,防克隆操作】
2019/05/22 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
javascript实现数独解法
2015/03/14 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
布同自制Python函数帮助查询小工具
2011/03/13 Python
深入浅出学习python装饰器
2017/09/29 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
《植物妈妈有办法》教学反思
2014/02/25 职场文书
护士毕业实习感言
2014/03/05 职场文书
事假请假条范文
2014/04/11 职场文书
应届大专生自荐书
2014/06/16 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
委托书的写法
2014/09/16 职场文书
合作意向书范本
2019/04/17 职场文书
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers