编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最简洁的莫过于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