2019独角兽企业重金招聘Python工程师标准>>>

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

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

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

2,删除一个文件

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

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

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

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

  1. os.removedirs(path)
    os.remove()

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

  1. 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,查看某个目录下文件数量:

  1. 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)

结果如下:

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

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

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

递归打印文件的方法:

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

8,读取文件的方法:

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

批量载入读取:

  1. 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()

写入文件例子:

  1. 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,拷贝,或剪切的例子

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

转载于:https://my.oschina.net/yzbty32/blog/532080

Python操作文件目录相关推荐

  1. python mysql倒序_day40:MySQL:python操作mysql:pymysql模块SQL注入攻击

    目录 part1:用python连接mysql 1.用python连接mysql的基本语法 创建连接conn→创建游标对象cursor→执行sql语句execute→获取数据fetchone→释放游标 ...

  2. zookeeper教程,docker 安装,命令,python操作zookeeper,分布式队列,分布式锁

    docker安装zookeeper服务端 首先安装单节点的服务端,如果安装多节点的服务端,需要为每个节点配置其他节点的地址. docker run --privileged=true -d --nam ...

  3. Python操作SQLServer

    安装开发环境 要进行SQLServer的开发,首先需要在本机上安装SQLServer,建立本机开发环境.可以从微软官网上下载类似cn_sql_server_2012_enterprise_editio ...

  4. python操作word文档(python-docx)

    python操作word文档(python-docx) 1. 效果图 1.1 python-docx文档标题段落(等级.加粗.斜体.居中)效果图 1.2 python-docx字体(加粗.斜体.居中. ...

  5. Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  6. Python 操作 MongoDB 数据库!

    作者 |黄伟呢 来源 |数据分析与统计学之美 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 先来看看MySQL与MongoDB 概念区别 ...

  7. python操作yaml的方法详解

    这篇文章主要为大家介绍了python操作yaml的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助 一.参考链接 https://pyyaml.org/wiki/PyYAM ...

  8. python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...

    最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理.但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理.以前正好在一本书上看到 ...

  9. job for nginx.service failed_用Python操作Kubernetes的Job

    关于Kubernetes的Python SDK,几乎只有官方项目的examples.关于Job的基本增删改查操作,可以参考job_crud.py.但是,这只是基本用法,缺乏一些实用细节. 本文给出Py ...

最新文章

  1. RDKit2018.03.3+Win10(64位):ImportError: DLL load failed: 找不到指定的模块。
  2. Linux的经常使用命令(1) - 指定执行级别
  3. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)
  4. discuz二次元文章博客模板
  5. [Linux] DSO missing from command line
  6. [Twisted] transport
  7. pom文件配置多个远程仓库地址_分布式配置中心Config
  8. 你真的了解 MySQL 数据库的运行状况吗?
  9. 利用getData获取图片中的图表信息数据
  10. duet设置_一秒把平板变 PC 电脑的扩展屏幕:TwomonUSB Duet Display 对比评测
  11. 【FFmpeg】转码码率
  12. ACI注册国际心理师/营养师1903期考场规则及注意事项
  13. oeasy教您玩转vim - 4 - # 深入帮助
  14. 2022年上半年技术领域TOP 10高薪岗位出炉,第一名月薪4万
  15. Windows高效文件搜索工具/Everything/Listary/uTools
  16. 魔兽世界插件开发:Beginning Lua with World of Warcraft Add-ons 中文翻译及学习 (1.1)
  17. 【Java调用高德地图api】
  18. 解决虚拟专用网络拨号后本地上网流量都走此网络的问题
  19. 反问疑问_反问疑问句的语法
  20. C++ GUI Programming with Qt4 Second Edition 之 前言

热门文章

  1. nginx简单的操作
  2. shell出错test_path: command not found
  3. RabbitMQ学习笔记-RabbitMQ的运转流程
  4. 'utf8' codec can't decode byte --python
  5. Linus 07年在 Google讲座介绍Git的特点和设计思路
  6. java在类中创建一个对象_在另一个类中创建类对象
  7. Spring整合RabbitMQ
  8. springsecurity 认证之密码模式
  9. mybais逆向工程快速生成实体和基本xml
  10. 网络流专题(完结撒花)