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 操作文件方法的总结,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]