根据文件名自动创建文件夹

穆罕默德

我有一个文件夹,其中包含许多这样命名的文件:

sale_jone_BAL_EXT_HOPE_20191121130102.txt.xml.done 
sale_jone_BAL_EXT_HOPE_20191121131102.txt.xml.done
sale_jone_BAL_EXT_HOPE_20191122133102.txt.xml.done    
sale_jone_BAL_EXT_HOPE_20191123132102.txt.xml.done
sale_jone_BAL_EXT_LOCK_20191123132102.txt.xml.done
sale_jone_BAL_EXT_LOCK_20191123132102.txt.xml.done

我想从上面给出的文件名创建一个名称为(bound-2019-11-21)的文件夹。在文件中,前8个整数是日期。

我该怎么做?在这里,我有一个希望锁的文件夹

现在我想要的是从文件名在HOPE中创建文件夹,例如HOPE-> bound-2019-11-21

这是我的代码:

path='../picture/jack' #this is the path of folder in which the files are 
                        located
dirs=os.listdir(path)
b=[]
for file in dirs:
    #print(file)
    a=re.findall(r'HOPE',file) #finding the file name HOPE from the folder
    if a:
      b.append(file)

print(b)
for i in b:
    t=re.findall(r'\d{8}',i) #finding the date from the file in list
    print(t)
戈戈伦

如果您的格式有一定的可变性和/或目录中包含多个文件,而您需要忽略其中的一些文件,则regex是一个合理的选择。\w+?(\d{8,})\.txt\.xml\.done$似乎是个不错的入门方法,因为我们只有文字字符,一批至少8位数字和.txt.xml.done后缀。

import os
import re

path = "../picture/jack"
path = os.path.join(*path.split("/"))

for f in os.listdir(path):
    date = re.match(r"\w+?(\d{8,})\.txt\.xml\.done$", f)

    if date:
        p = r"(\d{4})(\d\d)(\d\d).*"
        dest = os.path.join(path, re.sub(p, r"\1-\2-\3", date.group(1)))
        os.makedirs(dest, exist_ok=True)
        os.replace(os.path.join(path, f), os.path.join(dest, f))

这将根据yyyy-mm-dd格式在文件夹中创建和移动文件。

"\w*?_HOPE_\w*?(\d{8,})\.txt\.xml\.done$" 如果只希望_HOPE_示例代码中包含的文件,则可以使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据文件名 bash 创建文件夹

来自分类Dev

需要.bat文件,它将根据文件名创建文件夹

来自分类Dev

根据文件名(不包括括号和方括号)批量创建文件夹

来自分类Dev

Windows Batch根据文件名创建文件夹

来自分类Dev

R:使用文件名创建文件夹

来自分类Dev

批处理命令根据文件名创建文件夹并将文件/文件夹移动到创建的文件夹

来自分类Dev

根据部分文件名创建文件夹,然后将文件移动到创建的文件夹中

来自分类Dev

遍历目录中的文件,根据文件名创建文件夹,并将文件移动到相应的文件夹中

来自分类Dev

Mac OS –根据文件名的一部分创建文件夹

来自分类Dev

根据部分文件名批量创建文件夹并将文件移动到该文件夹中

来自分类Dev

批处理文件以基于文件名创建文件夹

来自分类Dev

为每个文件名创建文件夹并移动文件

来自分类Dev

仅使用文件名的一部分从文件名创建文件夹

来自分类Dev

使用{*。*}从零件文件名创建文件夹

来自分类Dev

按文件名部分批量创建文件夹并移动

来自分类Dev

使用批处理命令创建文件夹并复制文件名

来自分类Dev

7zip批处理创建文件夹而不是文件名

来自分类Dev

如何从文件名创建文件夹并在 PHP 中移动它?

来自分类Dev

如何使用文件名的前几个字母创建文件夹?

来自分类Dev

如何通过批处理文件基于可变长度文件名创建文件夹

来自分类Dev

创建文件夹,从文件名torrent中提取年份,然后在其中重新排列文件

来自分类Dev

用空格分隔的文件名创建文件夹并将文件复制到其中

来自分类Dev

bash可以基于文件名创建文件夹,然后将文件移动到文件夹中吗?

来自分类Dev

在文件夹内创建文本文件,然后重命名文件夹以匹配其中的文件名

来自分类Dev

如何使用Jenkins自动创建文件夹?

来自分类Dev

uWSGI无法在/ tmp中自动创建文件夹

来自分类Dev

如何使用Jenkins自动创建文件夹?

来自分类Dev

使用终端自动创建文件夹

来自分类Dev

根据php中的输入字段创建文件夹

Related 相关文章

  1. 1

    根据文件名 bash 创建文件夹

  2. 2

    需要.bat文件,它将根据文件名创建文件夹

  3. 3

    根据文件名(不包括括号和方括号)批量创建文件夹

  4. 4

    Windows Batch根据文件名创建文件夹

  5. 5

    R:使用文件名创建文件夹

  6. 6

    批处理命令根据文件名创建文件夹并将文件/文件夹移动到创建的文件夹

  7. 7

    根据部分文件名创建文件夹,然后将文件移动到创建的文件夹中

  8. 8

    遍历目录中的文件,根据文件名创建文件夹,并将文件移动到相应的文件夹中

  9. 9

    Mac OS –根据文件名的一部分创建文件夹

  10. 10

    根据部分文件名批量创建文件夹并将文件移动到该文件夹中

  11. 11

    批处理文件以基于文件名创建文件夹

  12. 12

    为每个文件名创建文件夹并移动文件

  13. 13

    仅使用文件名的一部分从文件名创建文件夹

  14. 14

    使用{*。*}从零件文件名创建文件夹

  15. 15

    按文件名部分批量创建文件夹并移动

  16. 16

    使用批处理命令创建文件夹并复制文件名

  17. 17

    7zip批处理创建文件夹而不是文件名

  18. 18

    如何从文件名创建文件夹并在 PHP 中移动它?

  19. 19

    如何使用文件名的前几个字母创建文件夹?

  20. 20

    如何通过批处理文件基于可变长度文件名创建文件夹

  21. 21

    创建文件夹,从文件名torrent中提取年份,然后在其中重新排列文件

  22. 22

    用空格分隔的文件名创建文件夹并将文件复制到其中

  23. 23

    bash可以基于文件名创建文件夹,然后将文件移动到文件夹中吗?

  24. 24

    在文件夹内创建文本文件,然后重命名文件夹以匹配其中的文件名

  25. 25

    如何使用Jenkins自动创建文件夹?

  26. 26

    uWSGI无法在/ tmp中自动创建文件夹

  27. 27

    如何使用Jenkins自动创建文件夹?

  28. 28

    使用终端自动创建文件夹

  29. 29

    根据php中的输入字段创建文件夹

热门标签

归档