python实现文件自动分类整理,Python批量处理表格
本文将利用Python制作一个自动批量排序文件的小工具,可以自定义某一路径下所有需要排序的文件。感兴趣的朋友可以了解一下。
要实现这样一个小工具,我们先想象一下下面的功能。
1.可以自定义某个路径下所有需要排序的文件,并进行排序。
2.默认使用文件后缀作为同类文件的文件夹名,有其他想法的朋友可以自行扩展。
将使用的python模块导入代码块。
导入os #文件/文件夹应用程序操作
导入快门#移动文件
Import logging #使用日志记录来打印日志。
选择需要排序的原始文件目录。
以下是整理后的效果图,按照文件类型整理各种文件。
在代码块中添加日志打印模块,其中日志打印选择日志模块。
Logger=logging.getLogger(自动归纳文件)#日志名称
logging . basic config(format= %(asctime)s %(filename)s[line 3360%(line no)d]%(level name)s %(message)s )#日志打印格式
logger . set level(logging . debug)#日志打印级别
下面是文件排序的代码块的所有实现方法,主要部分有注释。
Dir=input(请输入要排序的文件目录: \n) #要排序的文件路径
if os.path.isdir(dir):
Logger.info(当前目录[ dir ]验证成功!)
路径=[]
对于os.walk(r dir):中的文件路径、目录名、文件名
文件名3360中的文件名
尝试:
文件名路径=os.path.join(文件路径,文件名)
dir_=文件名. split( . )[1]
新文件名路径=os.path.join(目录,目录_)
#验证新文件夹已经存在
if os.path.isdir(新文件名路径):
#直接移动文件
shutil.move(文件名路径,新文件名路径)
else:
#创建文件夹后移动文件
os.mkdir(新文件名路径)
shutil.move(文件名路径,新文件名路径)
paths.append(os.path.join(新文件名路径,文件名))
例外:
伐木工。错误([文件名路径]移动异常,执行下一步!)
对于路径:中的路径
Logger.info(已移动的文件: str(path))
else:
Logger.error(您输入的文件夹或目录不存在!)
以上是文件自动排序的所有代码块的实现部分。使用时,将代码块复制到自己的开发工具中,直接启动。
进阶
当文件在不同路径时,如何实现批量管理?以下是代码,供您参考。
导入操作系统
导入全球
导入技能
@Author: huny
@date: 2020.12.06
@function:文件排序
类文件类型():
def __init__(self):
self.filetype={
图像“3360 [”。jpeg ,。 jpg ,
".tiff", ".gif", ".bmp", ".png", ".bpg", "svg", ".heif", ".psd"],
"视频": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng", ".qt", ".mpg", ".mpeg", ".3gp", ".mkv"],
"音频": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3", ".msv", ".ogg", ".oga", ".raw", ".vox", ".wav", ".wma"],
"文档": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods", ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox",
".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt", ".pptx", ".csv", ".pdf", ".md",".xmind"],
"压缩文件": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z", ".dmg", ".rar", ".xar", ".zip"],
"文本": [".txt", ".in", ".out", ".json","xml",".log"],
"程序脚本": [".py", ".html5", ".html", ".htm", ".xhtml", ".c", ".cpp", ".java", ".css",".sql"],
"可执行程序": [".exe",".bat",".lnk"],
"字体文件": [".ttf", ".OTF", ".WOFF", ".EOT"]
}
def JudgeFile(self, pathname):
for name, type in self.filetype.items():
if pathname in type:
return name
return "无法判断类型文件"
class DeskTopOrg(object):
def __init__(self):
self.filetype = FileType()
def Organization(self):
filepath = input("请输入需要整理的文件夹路径: ")
paths = glob.glob(filepath + "/*.*")
print(paths-->,paths)
for path in paths:
try:
if not os.path.isdir(path):
file = os.path.splitext(path)
filename,type = file
print(type-->,type)
print("filename-->",filename)
print(path-->,path)
dir_path = os.path.dirname(path)
print(dir_path-->,dir_path)
savePath = dir_path + /{}.format(self.filetype.JudgeFile(type))
print(savePath-->,savePath)
if not os.path.exists(savePath):
os.mkdir(savePath)
shutil.move(path, savePath)
else:
shutil.move(path, savePath)
except FileNotFoundError:
pass
print("程序执行结束!")
if __name__ == __main__:
try:
while True:
desktopOrg = DeskTopOrg()
desktopOrg.Organization()
print("---->你的文件已经整理完成。")
a = input(---->请按回车键退出:)
if a == :
break
except BaseException:
print("ERROE:路径错误或有重复的文档")
这样就可以自由的整理你想要整理的路径了。
到此这篇关于Python实现批量自动整理文件的文章就介绍到这了,更多相关Python自动整理文件内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。