1.文件的操作

在操作文件文件(创建、删除)过程中需要引入python的os

1.得到当前工作的目录

1
2
3
import os
curdir = os.getcwd()
print(curdir) # D:\python\program

2.得到当前目录的文件(目录)名称

1
2
3
import os
curlistdir = os.listdir('D:/python/program')
print(curlistdir) # ['A.txt', 'B.txt', 'file.py', 'file2.py']

3.创建目录(多级目录)

1
2
import os
os.makedirs('E:/python/dir1/dir2') # 返回为None

4.删除一个文件

1
2
import os
os.remove('D:/python/program/A.txt') # 返回为None

5.删除单个目录

1
2
import os
os.rmdir('D:/python/dir1/dir2') # 返回为None

6.修改文件名或者一个目录名

1
2
import os
os.rename('D:/python/program/B.txt','D:/python/program/A.txt')

2.os.path函数使用

1.去掉路径得到文件名

1
2
3
import os
filename = os.path.basename('D:/python/program/A.txt')
print(filename) # A.txt

2.去掉文件名得到路径

1
2
3
import os
filedir = os.path.dirname('D:/python/program/A.txt')
print(filedir) #D:/python/program

3.取得一个文件的后缀名

1
2
3
import os
splitext = os.path.splitext('D:/python/program/A.txt')
print(splitext[1]) # 得到的是一个元组 使用tuple[1]取得.txt

4.判断文件或者目录是否存在

1
2
3
import os
isexists = os.path.exists('D:/python/program/A.txt')
print(isexists) # True

5.判断指定路径是否是一个目录

1
2
3
import os
isdir = os.path.isdir('D:/python/program')
print(isdir) # True

6.判断指定路径是否是一个文件

1
2
3
import os
isfile = os.path.isfile('D:/python/program/A.txt')
print(isfile) # True

3.pickle模块

把数据以二进制的形式保存在指定的路径下;读取指定路径下的二进制文件。

1.数据以二进制存储在指定路径下

1
2
3
4
5
import pickle
mylist = [1,1.5,'pthon',(1,2,3)]
picklefile = open('D:/python/program/myfile.pk','wb')
pickle.dump(mylist,picklefile)
picklefile.close()

2.读取指定目录下的二进制文件

1
2
3
4
import pickle
picklefile = open('D:/python/program/myfile.pk','rb')
mylist2 = pickle.load(picklefile)
print(mylist2 )

4.练习题

打印出指定目录下所有文件的路径

1
2
3
4
5
6
7
8
9
10
11
import os
def printFile(path):
for item in os.listdir(path):
filePath = os.path.join( path, item)
if os.path.isfile(filePath):
print(filePath)
elif os.path.isdir(filePath):
printFile(filePath)
printFile('D:/python/program')