Python实现自动整理文件的示例代码

目录
  • 一、前言
  • 二、遍历文件
  • 三、移动文件
  • 四、自动整理文件
    • 1、将图片集中存放
    • 2、同步整理文件
    • 3、获取文件属性

一、前言

今天我们就带大家来实现一下文件自动整理的操作。在我们日常生活中,文件总是杂乱无章的,这个时候就需要我们整理一下。但是文件太多的话整理起来是非常麻烦的,因此我们今天就来用Python实现文件的自动整理。

二、遍历文件

要整理文件,我们首先需要遍历文件。这里用两种方法,一种是直接获取指定目录下的所有文件和文件夹。另外一种就是获取指定目录下的文件、文件夹和子文件、文件夹...

我们这里直接看看代码:

import os
basedir = "test1"
file_list = [os.path.join(basedir, i) for i in os.listdir(basedir)]
print(file_list)

输出效果如下:

['test1\\a1.jpeg', 'test1\\a2.jpeg', 'test1\\a3.jpeg']

接下来看第二种:

import os
basedir = r"D:\\"
for root, dirs, files in os.walk(basedir):
    for file in files:
        path = os.path.join(root, file)
        print(path)

这里我们直接遍历D盘下的文件,输出结果部分如下:

EM.rst.txt
D:\\CodeFile\cmake-3.15.0-rc1-win64-x64\doc\cmake\html\_sources\variable\CMAKE_HOST_SYSTEM_NAME.rst.txt
D:\\CodeFile\cmake-3.15.0-rc1-win64-x64\doc\cmake\html\_sources\variable\CMAKE_HOST_SYSTEM_PROCESSOR.rst.txt
D:\\CodeFile\cmake-3.15.0-rc1-win64-x64\doc\cmake\html\_sources\variable\CMAKE_HOST_SYSTEM_VERSION.rst.txt

这样我们就完成了遍历的操作。

三、移动文件

移动文件的操作非常简单,我们只需要调用os.renames函数即可,使用如下:

import os
os.renames(".\\test\\1.jpg", "1.jpg")

上面的代码效果就是将当前目录下的test目录中的1.jpg图片移动到当前目录下。或者我们可以使用绝对路径:

import os
os.renames(r"D:\test1\a2.jpeg", r"D:\a1.jpeg")

这样我们就实现了文件的移动。而我们整理文件的操作就是按照一定规则移动文件。

四、自动整理文件

整理图片的操作是多种多样的,对于不同的人,整理要求也不一样。因此这里只是说一些可能需要的一些整理操作。

1、将图片集中存放

有时候我们可能会把图片集中放置在一个目录下,或者需要把指定名称的图片放在一个目录下(比如QQ图片的命名规则是IMG_...,我们可以通过这点整理所有QQ图片)。这个时候我们就可以用今天的内容来完成了。

import os
todir = "D:\imgs"
basedir = r"D:\\"
# 如果目录不存在,则创建
if not os.path.exists(todir):
    os.mkdir(todir)
img_name = 1000
for root, dirs, files in os.walk(basedir):
    for file in files:
        path = os.path.join(root, file)
        if path.endswith(".jpg"):
            # 移动文件
            os.renames(path, "D:\\imgs\\" + str(img_name) + ".jpg")
            img_name += 1

这里我们实现了将所有jpg文件整理到指定目录的操作。但是有时候移动文件是一件很危险的事情,因此我们还可以选择不移动文件,而且复制文件:

import os
todir = "D:\\imgs"
basedir = r"D:\\"
# 如果目录不存在,则创建
if not os.path.exists(todir):
    os.mkdir(todir)
img_name = 1000
for root, dirs, files in os.walk(basedir):
    for file in files:
        path = os.path.join(root, file)
        if path.endswith(".jpg"):
            # 移动文件
            with open(path, "rb") as f1:
                with open("D:\\imgs\\" + str(img_name) + ".jpg", "wb") as f2:
                    content = f1.read()
                    f2.write(content)
            img_name += 1

这样我们就实现了文件的复制。

2、同步整理文件

我们还可以做一些其它整理工作,只需要在遍历中添加一些条件即可:

import os
todir = "D:\\imgs"
basedir = r"D:\\"
# 如果目录不存在,则创建
if not os.path.exists(todir):
    os.mkdir(todir)
img_name = 1000
for root, dirs, files in os.walk(basedir):
    for file in files:
        path = os.path.join(root, file)
        if path.endswith(".jpg"):
            # 整理图片
        elif path.endswith(".txt"):
            # 整理文本
        else:
            pass

这样我们就可以按照自己的想法来整理文件。

3、获取文件属性

其它文件整理操作这里就不说了,我们再来说一下获取文件属性的操作。代码如下:

import os
stat = os.stat("test1/a3.jpeg")
print(stat)

我们通过上面的代码就可以查看文件的属性,输出内容如下:

os.stat_result(st_mode=33206, st_ino=281474977264692, st_dev=275139486, st_nlink=1, st_uid=0, st_gid=0, st_size=95289, st_atime=1632752119, st_mtime=1586520880, st_ctime=1632664508)

这里包括文件模式,文件大小,创建时间修改时间等。这样我们在拿到这些信息后就可以更准确地整理文件了。比如我们可以把最近一天修改的文件整理出来,这样我们就可以找到我们想用的文件了。

到此这篇关于Python实现自动整理文件的示例代码的文章就介绍到这了,更多相关Python自动整理文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-08-08

Python实现批量自动整理文件

为了实现这样的小工具,我们先设想有下面这些功能. 1.可以自定义整理某一个路径下面的所有需要被整理的文件.2.默认情况下,使用文件后缀作为同一种类文件的文件夹名称,有其他想法的小伙伴可自行扩展. 将使用到的python模块导入到代码块中. import os # 文件/文件夹应用操作 import shutil # 移动文件 import logging # 使用日志logging来打印日志 选择好需要整理的原始文件目录. 下面是整理完成后的效果图,根据文件类型对各种文件进行整理. 在代码块中加

Python实现自动整理文件的脚本

前言 工作上的文档和资料好几个月没整理了,因为平常太忙都是随手往桌面丢.整个桌面杂乱无章全是文档和资料.几乎快占满整个屏幕了,所有我必须要整理一下了.但是手动整理太费时间了,于是我想到了python. 示例 import os import glob import shutil ''' @Author: huny @date: 2020.12.06 @function: 桌面整理 ''' class FileType(): def __init__(self): self.filetype =

Python脚本实现一键自动整理办公文件

目录 导语: 1.准备 2.原理 3.自定义整理 导语: 举例:Python做一个根据后缀名整理文件的工具,先来看看效果: 自动整理前: 自动整理后: 这样看起来就好很多了. 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:python Windows最新版本安装教程 我们只需要修改源代码主程序中调用 auto_organize函数的参数即可完成对对应文件夹的整理,比如我想整理  C:\Users\83493\Downloads 文件夹: if

python实现自动整理文件

前言: 平时工作没有养成分类的习惯,整个桌面杂乱无章都是文档和资料,几乎快占满整个屏幕了.所以必须要整理一下了,今天我们来看下用python如何批量将不同后缀的文件移动到同一文件夹. 演示效果: 使用前 使用后 代码: # # -*- coding:utf-8 -*- import os import glob import shutil import tkinter import tkinter.filedialog from datetime import datetime def star

Python实现批量文件整理的示例代码

目录 引言  一.准备工作 二.制作 excel 的文件清单 三.文件的批量重命名 四.文件的批量删除 引言  批量文件整理一直是日常工作中令人头疼的事,使用 Python 进行大批量文件整理,可以大大提升工作效率.下面来介绍几种批量文件整理的小技巧. 一.准备工作 为了用于实验,我们使用代码生成 200 个 txt 文件,代码如下. for i in range(0, 200): file_name = f'file_{i}.txt' f = open(f'./file/{file_name}

Python实现XML文件解析的示例代码

1. XML简介 XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用.它是web发展到一定阶段的必然产物,既具有SGML的核心特征,又有着HTML的简单特性,还具有明确和结构良好等许多新的特性. test.XML文件 <?xml version="1.0" encoding="utf-8"?> <catalog> <m

拿来就用!Python批量合并PDF的示例代码

大家好,今天分享一个实用的办公脚本:将多个PDF合并为一个PDF,例如我手上现在有如下3个PDF分册,需要整合成一个完整的PDF 如果换成你操作的话,是不是打开百度搜索:PDF合并,然后去第三方网站操作,可能会收费不说还担心文件泄漏,现在有请Python出场,简单快速,光速合并,拿走就用! 首先导入需要的库和路径设置 import os from PyPDF2 import PdfFileReader, PdfFileWriter if __name__ == '__main__': # 设置存

Spring Boot实现文件上传示例代码

使用SpringBoot进行文件上传的方法和SpringMVC差不多,本文单独新建一个最简单的DEMO来说明一下. 主要步骤包括: 1.创建一个springboot项目工程,本例名称(demo-uploadfile). 2.配置 pom.xml 依赖. 3.创建和编写文件上传的 Controller(包含单文件上传和多文件上传). 4.创建和编写文件上传的 HTML 测试页面. 5.文件上传相关限制的配置(可选). 6.运行测试. 项目工程截图如下: 文件代码: <dependencies>

Go/Python/Erlang编程语言对比分析及示例代码

本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性,不过最主要的原因是这几个我比较熟悉. Go的很多语言特性借鉴与它的三个祖先:C,Pascal和CSP.Go的语法.数据类型.控制流等继承于C,Go的包.面对对象等思想来源于Pascal分支,而Go最大的语言特色,基于管道通信的协程并发模型,则借鉴于CSP分支. Go/Python/Erlang语言特性对比 如<编程语言与范式>一文所说,不管语言如何层出不穷

python爬虫 批量下载zabbix文档代码实例

这篇文章主要介绍了python爬虫 批量下载zabbix文档代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 # -*- coding: UTF-8 -*- import requests,re,time url = 'https://www.zabbix.com/documentation/3.4/zh/manual' base_url = 'https://www.zabbix.com/documentation/3.4/' seco

python绘制BA无标度网络示例代码

如下所示: #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py # 作 者:孔云 #问题描述: #问题分析:.代码如下: import networkx as ne #导入建网络模型包,命名ne import matplotlib.pyplot as mp #导入科学绘图包,命名mp #BA scale-free degree network graphy BA=ne.barabasi_albert_graph(50,1)

Python操作Excel工作簿的示例代码(\*.xlsx)

前言 Excel 作为流行的个人计算机数据处理软件,混迹于各个领域,在程序员这里也是常常被处理的对象,可以处理 Excel 格式文件的 Python 库还是挺多的,比如 xlrd.xlwt.xlutils.openpyxl.xlwings 等等,但是每个库处理 Excel 的方式不同,有些库在处理时还会有一些局限性. 接下来对比一下几个库的不同,然后主要记录一下 xlwings 这个库的使用,目前这是个人感觉使用起来比较方便的一个库了,其他的几个库在使用过程中总是有这样或那样的问题,不过在特定情

Python实现多线程下载脚本的示例代码

0x01 分析 一个简单的多线程下载资源的Python脚本,主要实现部分包含两个类: Download类:包含download()和get_complete_rate()两种方法. download()方法种首先用 urlopen() 方法打开远程资源并通过 Content-Length获取资源的大小,然后计算每个线程应该下载网络资源的大小及对应部分吗,最后依次创建并启动多个线程来下载网络资源的指定部分. get_complete_rate()则是用来返回已下载的部分占全部资源大小的比例,用来回

Python 实现敏感目录扫描的示例代码

01 实现背景 1.PHPdict.txt,一个文本文件,包含可能的敏感目录后缀 2.HackRequests模块,安全测试人员专用的类Requests模块 02 实现目标 利用HackRequests模块,配合敏感目录字典PHPdict.txt,实现一个简单的敏感目录扫描Python文件 03 注意事项 1.输入URL时要输全:如 https://www.baidu.com/. https://www.csdn.net/ 2.为防止网站可能存在的简单反爬机制,我们简单添加headers信息,尝

Python实现自动签到脚本的示例代码

实训课期间忙里偷闲的学习了python的selenium包,唯一一点不好是要自己去查英文文档,明摆着欺负我这种英语不好的,想着用谷歌翻译一下,代码也给我翻译了,不知道是几个意思. 大二的时候就让我们做自动签到脚本,说用JS可以写一下,但是说着说着就给忘了,现在学了python后又想起来要写一个自动签到的脚本,不得不佩服python的强大,短短二十行左右的代码就实现了,虽然说脚本还需要手动操作去运行,以后还是可以慢慢优化的. 开发环境 : Windows10 + sublime(编辑器装好pyth