在学习 Python 的过程中,不经常使用到文件相关的操作(也有可能是我学的不到家),说实话,这些不常用的 API ,在真正需要的时候还是要百度的,自己还是写不出来。说要整理,也不知道该如何整理,就干脆一点,直接上我做练习的时候写的一个工具类吧。日后再有文件相关的操作,都可以写成方法加上去。
另外,普及一个知识点,这个文件可以直接拿来使用,在使用之前可以使用dir() 和 help() 方法来查看类库和方法的介绍。
使用方法
在同一目录下:
from FileUtils(文件名) import FileUtils 这样就可以使用了 FileUtils 这个工具类了。
在不同目录下:
sys.path.append(r'D:\Python\test') - 将文件所在目录添加进 import 模块中
from FileUtils(文件名) import FileUtils 这样就可以使用了 FileUtils 这个工具类了。
以下既是 FileUtils.py 文件的内容。
import os
class FileUtils(object):
'''
用于操作文件的工具类
:version 1.0
:Python version : 3.6
:author : YJK923
'''
def read(self,file_name,mode):
'''
读取文件内容,返回文件内容,类型为字符串,若文件不存在,则返回空
:prarm file_name : 文件名
mode : 打开模式,常用方式 r 或 rb
r : 以读方式打开,只能读文件
rb : 以二进制读方式打开,只能读文件
rt : 以文本读方式打开,只能读文件
rb+ : 以二进制方式打开,可以读写文件
'''
try:
with open(file_name,mode) as f:
f.seek(0) # 移动文件指针
content = f.read()
return content
except Exception as e :
print(e)
def readline(self,file_name):
'''
一行一行的读取文件
:param : file_name : 文件名
'''
try:
with open(file_name,'r') as f:
for line in f:
print(line)
except Exception as e:
print(e)
def write(self,file_name,content,mode):
'''
清空文件并写入 content
:param file_name : 文件名
content : 写入内容
mode : 打开模式,常用方式 w 或 wb
w : 以写的方式打开,只能写文件,若文件不存在,先创建,再写
wb : 以二进制写方式打开,只能写文件,若文件不存在,先创建再写,反之,清空之后再写
wt : 以文本方式打开,只能写文件,若文件不存在,先创建再写,反之,清空之后再写
'''
with open(file_name,mode) as f:
f.write(str(content))
def append_write(self,file_name,content):
'''
追加文件写入 content
:param file_name : 文件名
content : 追加内容
'''
with open(file_name,'a+') as f:
f.write(str(content))
def clear(self,file_name):
'''
清空文件内容
:param: file_name : 文件名
'''
with open(file_name,'wb') as f:
f.truncate() # 清空文件内容
def remove(self,file_name):
'''
删除文件
:param : file_name : 文件名
'''
try:
os.remove(file_name)
except Exception as e:
print(e)
def tell(self,file_name):
'''
获取文件中指针的值
:param : file_name : 文件名
'''
try:
with open(file_name,'a+') as f:
L = f.tell()
return L
except Exception as e:
print(e)
def copyfile(self,source_name,target_name):
'''
复制文件,复制之后的文件在同一级目录中
:param : source_name : 原文件名
target_name : 复制之后的文件名
'''
try:
with open(source_name,'rb') as f1, open(target_name,'wb') as f2:
f2.write(f1.read())
except Exception as e:
print(e)
def movefile(self,source_name,path):
'''
移动文件到 path 路径下 示例:movefile('users.txt','D:\\FTPTest')
:param : source_name : 原文件名称
path : 移动之后的目录信息
'''
try:
with open(source_name,'rb') as f1, open(path+'\\'+source_name,'wb') as f2:
f2.write(f1.read())
os.remove(source_name)
except Exception as e:
print(e)
|
|