想象一下这样的情况:您有一个文件夹,其中包含多种类型的文件,如 txt、mp3 等。您决定清理这些乱七八糟的文件,并以图像在一个文件夹中而歌曲在另一个文件夹中的方式组织它们。您是否会根据文件类型移动它们,即移动数 = 文件数。不,我不会这样做:)。
这个任务可以通过编写这个Python脚本来自动化,它可以自动创建一个单独的目录并将文件移动到各自的目的地。
请注意,您需要在系统上安装Python 2。该脚本使用名为 os 的模块,它允许我们使用特定于操作系统的功能。请注意,您需要在系统上设置Python ,然后才能完成所有这些操作。为此,请按照以下步骤操作:
1)从这里下载Python ; https://www.Python.org/下载/
(我更喜欢 2.7,因为它是一个稳定版本)
2) 安装它。转到 C:( Windows 所在的位置并获取Python文件夹的路径(类似于 C:\Python27)
3)转到我的电脑(或这台电脑),转到高级系统设置,在那里搜索变量路径,然后单击编辑。
4) 将出现一个带有路径的框,将光标滚动到已经存在的路径直到最后并添加;C:\Python27 (即 ; 然后是 C 驱动器中Python文件夹的路径)。
5) 单击保存或确定。在您的 C:\ 中创建一个名为 Pyprog(或其他任何名称)的文件夹,在这里我们将存储我们所有的Python程序,打开 cmd 并键入 cd C:\Pyprog然后运行一个名为 first.py 的文件(每个扩展名为 .py 的Python程序),运行Python first.py。
Python代码直接链接– https://ide.geeksforgeeks.org/9bY2Mm
Python
# Ptyhon program to organize files of a directory
import os
import sys
import shutil
# This function organizes contents of sourcePath into multiple
# directories using the file types provided in extensionToDir
def OrganizeDirectory(sourcePath, extensionToDir):
if not os.path.exists(sourcePath):
print ("The source folder '" + sourcePath +
"' does not exist!!\n")
else:
for file in os.listdir(sourcePath):
file = os.path.join(sourcePath, file)
# Ignore if its a directory
if os.path.isdir(file):
continue
filename, fileExtension = os.path.splitext(file)
fileExtension = fileExtension[1:]
# If the file extension is present in the mapping
if fileExtension in extensionToDir:
# Store the corresponding directory name
destinationName = extensionToDir[fileExtension]
destinationPath = os.path.join(sourcePath, destinationName)
# If the directory does not exist
if not os.path.exists(destinationPath):
print ("Creating new directory for `" + fileExtension +
"` files, named - `" + destinationName + "'!!")
# Create a new directory
os.makedirs(destinationPath)
# Move the file
shutil.move(file, destinationPath)
def main():
if len(sys.argv) != 2:
print "Usage:
请注意,在上图中,在执行脚本时创建了两个名为 Images 和 Songs 的新文件夹,并且扩展名为 mps 和 jpg 的文件现在位于所需的文件夹中
请注意,上面帖子中提到的路径是根据一般系统,您应该根据我们的要求更改路径并进行分类,但重点是更改当前工作目录,这是使用 os.chdir() 完成的。此外,可以添加更多与不同文件类型相关的 if 语句。
关于作者:Ekta 是 Geeksforgeeks 上非常活跃的贡献者。目前在德里理工大学学习。她还为www.geeksquiz.com制作了 Chrome 扩展程序,用于随机练习 mcqs。她可以通过github.com/Ekta1994 联系到
如果您还想在这里展示您的博客,请参阅 GBlog,了解 GeeksforGeeks 上的客座博客写作。