编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最简洁的莫过于linux里面shell的操作了,其次,则是python,ruby等动态语言的操作,那么,今天散仙来看下,在python里面如何使用一些常用的操作文件功能。
主要包括:
1,创建一个文件
2,删除一个文件
3,创建一个目录
4,删除一个目录
5,拷贝,重命名,查看文件大小
6,列出某个目录下文件的数量
7,递归打印某个目录下的所有文件和目录
8,读写文件操作
9,剪切,或者拷贝整个目录或文件到另一个位置下
1,创建文件方法:
1
|
2
|
f = open ( " D://111.cc " ,mode = "w" ,encoding = "UTF-8" ) f.close() |
2,删除一个文件
1
|
2
3
|
import os os.remove( " D://222.ccc123 " ) os.close() |
3,创建一个目录或多个目录
1
|
2
|
os.mkdir( " E://bb " ) os.makedirs( "D:\\a\\b" ) |
4,删除依旧用remove方法或多级删除
1
|
2
|
os.removedirs(path) os.remove() |
5,拷贝,重命名,查看文件大小
1
|
2
3
4
5
6
|
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
|
2
3
4
5
6
7
|
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
|
2
3
4
|
文件夹D:\tomcat7\ bin 的信息: 文件夹的个数: 0 文件的个数: 28 Process finished with exit code 0 |
7,递归打印文件夹的方法:
1
|
2
3
4
5
6
|
def showAllDirs(dp): tt = os.walk(dp); for l in tt: for lf in l[ 1 ]: print ( "目录的路径是:" ,l[ 0 ] + "\\" + lf) |
递归打印文件的方法:
1
|
2
3
4
5
|
def showAllDirsFiles(dirPath): tt = os.walk(dirPath); for l in tt: for ll in l[ 2 ]: print ( "文件的路径是:" ,l[ 0 ] + "\\" + ll) |
8,读取文件的方法:
1
|
2
3
4
5
6
|
def readFile(): f = open (r " D:///bbb.txt " ,encoding = "UTF-8" ) for line in f: #去除多余的换行符 print (line.strip()) f.close(); |
批量载入读取:
1
|
2
3
4
5
6
7
8
9
10
11
12
|
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
|
2
3
4
5
6
7
8
9
10
11
12
13
|
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
|
2
3
4
|
#拷贝整个目录到另一个路径下 shutil.copytree( "E:\\11111111111\\a" , "E:\\11111111111\\b" ); #剪切整个目录到另一个路径下 shutil.move( "E:\\11111111111\\a" , "E:\\11111111111\\cc" ) |
以上就是python 操作文件方法的总结,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://qindongliang.iteye.com/blog/2120251