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")

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏闻道于事

Linux-看完这篇Linux基本的操作就会了

2283
来自专栏Python攻城狮

Python中的模块介绍和使用1.import2.from…import 3.from … import * 4.as 5.定位模块 6.模块制作7.模块中的__all__8.python中的包 9.

在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关...

1041
来自专栏python3

python 文件操作2

Somehow, it seems the love I knew was always the most destructive kind

1131
来自专栏gaoqin31

PHP 输出控制

默认情况下,输出一个字符串到浏览器,经过3个阶段PHP buffer->Tcp buffer->浏览器(IE浏览器有的版本也存在buffer)

1634
来自专栏自由而无用的灵魂的碎碎念

解决source insight 3.5遇到的parse too comples错误

我使用source insight 编写c,编写代码的时候,source insight的symbol windows可能会提示parse too comple...

1132
来自专栏风中追风

分布式进阶__如何用zookeeper 实现分布式锁

        分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。

39116
来自专栏Java帮帮-微信公众号-技术文章全总结

高级框架-Struts2-day01【悟空教程】

Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中。目前掌握Struts2框架...

973
来自专栏前端杂货铺

高吞吐koa日志中间件

Midlog中间件 node服务端开发中少不了日志打点,而在koa框架下的日志打点在多进程环境中日志信息往往无法对应上下文,而且在高并发下直接进行写buffer...

54010
来自专栏PHP在线

你真的了解php吗?

一、特性 1. 命名空间 命名空间用的比较多,不详细写了,记录几个值得注意的实践和细节。 多重导入 别这么做,这样写容易让人困惑。 <?php use Symf...

3695
来自专栏Android随笔

mac学习笔记

在打开的文本文件中,添加如下内容(/XXX/XXX/platform-tools/为你的adb路径)

762

扫码关注云+社区