Python 操作文件的基本方法总结


Posted in Python onAugust 10, 2017

Python 操作文件

编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最简洁的莫过于linux里面shell的操作了,其次,则是python,ruby等动态语言的操作,那么,今天散仙来看下,在python里面如何使用一些常用的操作文件功能。

主要包括:

1,创建一个文件
2,删除一个文件
3,创建一个目录
4,删除一个目录
5,拷贝,重命名,查看文件大小
6,列出某个目录下文件的数量
7,递归打印某个目录下的所有文件和目录
8,读写文件操作
9,剪切,或者拷贝整个目录或文件到另一个位置下

1,创建文件方法:

f=open("D://111.cc",mode="w",encoding="UTF-8") 
f.close()

2,删除一个文件

import os 
os.remove("D://222.ccc123") 
os.close()

3,创建一个目录或多个目录

os.mkdir("E://bb") 
os.makedirs("D:\\a\\b")

4,删除依旧用remove方法或多级删除

os.removedirs(path) 
os.remove()

5,拷贝,重命名,查看文件大小

import os 
import shutil 
#第一个参数是源文件,第二个拷贝文件 
shutil.copyfile("D://111.CC","D://222.ccc") 
os.rename("D://222.ccc","D://222.ccc123") 
os.stat("D://abc.txt").st_size

6,查看某个目录下文件数量:

def countDirs(dp): 
  tt=tuple(os.walk(dp)) 
  print("文件夹"+dp+"的信息:") 
  print("文件夹的个数: ",len(tt[0][1]),"文件的个数: ",len(tt[0][2])) 
 
d1="D:\\tomcat7\\bin" 
countDirs(d1)

结果如下:

文件夹D:\tomcat7\bin的信息: 
文件夹的个数: 0 文件的个数: 28 
 
Process finished with exit code 0

7,递归打印文件夹的方法:

def showAllDirs(dp): 
 
  tt=os.walk(dp); 
  for l in tt: 
    for lf in l[1]: 
      print("目录的路径是:",l[0]+"\\"+lf)

递归打印文件的方法:

def showAllDirsFiles(dirPath): 
    tt=os.walk(dirPath); 
    for l in tt: 
      for ll in l[2]: 
         print("文件的路径是:",l[0]+"\\"+ll)

8,读取文件的方法:

def readFile(): 
  f=open(r"D:///bbb.txt",encoding="UTF-8") 
  for line in f: 
    #去除多余的换行符 
    print(line.strip()) 
  f.close();

批量载入读取:

def readFile1(): 
  f=open(r"D:///bbb.txt",encoding="UTF-8") 
  while 1: 
    #print("j") 
    lines=f.readlines(10000); 
    if not lines: 
      #print("end") 
      break; 
    for line in lines: 
      print(line.strip()) 
 
  f.close()

写入文件例子:

def writeFile(): 
  a=list(); 
  a.append("a你好") 
  a.append("b哈喽") 
  a.append("c") 
  #a追加模式w覆盖模式 
  f=open("D://pp.txt",mode='a',encoding="UTF-8") 
  print("文件大小:",f) 
 
  for c in a: 
    f.write(c+"\n") 
  f.close() 
  print("写入成功!")

最后需要注意一点,注意路径的写法需要使用\\两个符号加转义实现,如果只写一个,可能会导致问题!

9,拷贝,或剪切的例子

#拷贝整个目录到另一个路径下 
shutil.copytree("E:\\11111111111\\a","E:\\11111111111\\b"); 
#剪切整个目录到另一个路径下 
shutil.move("E:\\11111111111\\a","E:\\11111111111\\cc")

以上就是python 操作文件方法的总结,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
对于Python的框架中一些会话程序的管理
Apr 20 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
python opencv实现图片旋转矩形分割
Jul 26 Python
在python中对变量判断是否为None的三种方法总结
Jan 23 Python
Python requests设置代理的方法步骤
Feb 23 Python
python3 sorted 如何实现自定义排序标准
Mar 12 Python
python小白切忌乱用表达式
May 29 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
快速解释如何使用pandas的inplace参数的使用
Jul 23 Python
Python如何实现机器人聊天
Sep 10 Python
详解Python yaml模块
Sep 23 Python
解决python3输入的坑——input()
Dec 05 Python
Python 模拟登陆的两种实现方法
Aug 10 #Python
Python 网页解析HTMLParse的实例详解
Aug 10 #Python
关于Python中浮点数精度处理的技巧总结
Aug 10 #Python
Python 处理数据的实例详解
Aug 10 #Python
Python 由字符串函数名得到对应的函数(实例讲解)
Aug 10 #Python
关于Python中空格字符串处理的技巧总结
Aug 10 #Python
Python排序算法实例代码
Aug 10 #Python
You might like
PHP - Html Transfer Code
2006/10/09 PHP
PHP 变量的定义方法
2010/01/26 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
Jquery实现简单的动画效果代码
2012/03/18 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
华为C++笔试题
2014/08/05 面试题
北京天润融通.net面试题笔试题
2012/02/20 面试题
鼓励运动员的广播稿
2014/02/08 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
优质服务演讲稿
2014/05/14 职场文书
党支部特色活动方案
2014/08/20 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
开国大典观后感
2015/06/04 职场文书
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL
JavaScript组合继承详解
2021/11/07 Javascript
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL