python如何处理文件_Python如何处理文件的?

本文围绕Python处理文件展开,以处理幻灯片文件为例,先创建多个特定格式的文件,接着根据文件名中的会话信息将文件分组到不同文件夹。文中给出了相应的Python代码示例,还提到可探索更高级工具及GUI分拣器。

众所周知,Python是编程语言的一种,利用Python可以做很多的文件处理。那么Python如何处理文件的?有时,组织文件可能需要的不仅仅是了解其扩展名。例如,获取所有文件均为同一类型的目录。.pdf,.doc,.mp4等。假设您有一个包含幻灯片的文件夹(.ppt)。在这种情况下,您刚刚收到了大量的演讲文件,但要阅读它们并不容易。因此,他们没有为第一堂课准备一张包含所有内容的幻灯片,而是将它们分解为一个会议的幻灯片。在这种情况下,假定我们的文件夹如下所示。

Python如何处理文件的?

DataStructures/

|_Datastructuressession1Slide1.ppt

|_Datastructuressession1Slide2.ppt

|_Datastructuressession1Slide3.ppt

|_Datastructuressession2Slide3.ppt

|_Datastructuressession7Slide8.ppt

|_Datastructuressession9Slide2.ppt

... and so on

发生了什么?我们把幻灯片放好了,但是一团糟。您将不得不在文件夹中浏览一份特定的幻灯片,该幻灯片从您刚刚阅读的位置开始。我们应该使它更容易些,让我们根据会议安排所有幻灯片。

还记得上一篇文章中我们如何生成随机文件吗?我们将做同样的事情,只是这一次,所有文件都是相同的类型。快来看看这里。我们的文件看起来很像create_random_files.py。

#!/bin/python3# create_lectures.pyimport osfrom pathlib import Path

sessions = [str(x) for x in range(1,21)] # create 20sessions

sessions = [str(0)+item if int(item) < 10 else item for item in

sessions]# Datastructuressession01Slide1.ppt# get into the DataStructures

directory

os.chdir('./DataStructures')for item in sessions:

# create 20 slides for each session

for num in range(21):

file_to_create = f"Datastructuressession{item}Slide{num}.ppt"

Path(file_to_create).touch()

好吧好吧。我承认这次我对文件的数量有些不满。那是相当数量。

让我们注意这一行:

sessions = [str(0)+item if int(item) < 10 else item for item in

sessions]

在此之前的行列出了二十个数字,但这是要注意的问题,我们将这些数字中的每个数字转换为字符串。为什么?

如果确实小于10,我们会将数字0作为字符串附加到每个数字之后,这将使较低10范围内的每个数字看起来像这样;01、02、03等。

上面,我们为20个会话范围内的每个会话创建了许多文件。

接下来,我们很简单,根据会话将这些文件分组。

# clean_reading.py#!/bin/python3# move files to directories according to

the file name patternimport osimport shutil# get into the Datastructures

directory

os.chdir('./DataStructures')# Datastructuressession01Slide1.pptfor f in

os.listdir("."):

folder_name = f[14:23]

# print(folder_name)

if not os.path.exists(folder_name):

os.mkdir(folder_name)

shutil.move(f, folder_name)

else:

shutil.move(f, folder_name)

可能需要解释的唯一一行是:

folder_name = f[14:23]

我们已经计算了想要以文件夹命名的名称种类的字符数。在这种情况下,我们分解了文件名的字符串

Datastructuressession01Slide1.ppt

从我们那里得到的第一个s会话是字符号14在整个字符串中,而最后一次会话计数将是字符编号23从我们生成的文件中翻译出来将意味着数字的最后一位

20。

运行此命令可使我们的所有幻灯片在各自的会话中快速,干净地进行。

人们还有很多想做的事情,比如说让程序知道在没有字符位置手动输入的情况下包括了哪些会话,但是存在更高级的工具,尤其是在UNIX环境下。

随意进行探索,找到最适合您的方法。请注意,这是一个使用python制作的很棒的GUI 分拣器。

以上即是关于Python如何处理文件的全部内容,想了解更多关于Python的信息,请继续关注中培教育。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值