Python如何处理文件的?

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

Python如何处理文件的?_业界动态_数字化

 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的信息,请继续关注。

41
96
0
63

相关资讯

  1. 1、《杨家将》回归故里河南李晨客串观众特别献礼3953
  2. 2、我会用一生来守护你,网剧《我在大理寺当宠物》讲出了不少猫奴的心声1617
  3. 3、《家有儿女》“夏雨”尤浩然复出拍戏,身披铠甲体态憨厚被吐槽605
  4. 4、《天天向上》发布王一博单人剧照世间纷纷扰扰小狮子却只关心伪装者是谁2687
  5. 5、专访《觉醒年代》张桐:铁肩担道义的李大钊,为共产党人树立了标杆1893
  6. 6、与学长相恋结婚21年,生孩子后老公移情别恋,如今成了单亲妈妈3953
  7. 7、GDC回击IMAX不知所云律师:海外专利中国不保护959
  8. 8、《声动亚洲》《好声音》获好评无杂质最美声音4698
  9. 9、9.4分,《指环王》值得!3764
  10. 10、《爱拼北京》发终极预告获“北拼族”热捧2560
全部评论(0)
我也有话说
0
收藏
点赞
顶部