开发者社区> 问答> 正文

在python中,在目录中用部分字符串追加文件名

我的文件夹结构是这样的 根目录有多个目录,其中有多个文件,我想要特定的pdf附加部分字符串在目录。 Dir1 - > I_want_apple_in_file_name 文件名- >水果 Dir2 - > I_want_Orange_in_file_name 文件名- >水果 我想要的特定部分的字符串是在固定的位置后附加的pdf文件名。 我的输出应该是: Dir1 - > I_want_apple_in_file_name 文件名- > Fruit_apple Dir2 - > I_want_Orange_in_file_name 文件名- > Fruit_Orange 我的代码是这样的:

    pattern ='Fruit_*.pdf'
    file_name = [ os.path.join(r, file) for r, d, f in os.walk(path) for file in f if  fnmatch.fnmatch(file,pattern) ]
    for file in file_name :
      head_tail = os.path.split(file)
      filematch = head_tail[1]
      directory_split = (head_tail[0])
      sec_head_tail =os.path.split(directory_split)
      str = [sec_head_tail[1] ] 

现在str有了目录名。如何将目录名存储在字符串中并获取位置。我想重命名或附加字符串作为后缀在文件名。我是python的初学者。 问题来源StackOverflow 地址:/questions/59386199/append-the-filename-with-part-of-string-in-directory-in-python

展开
收起
kun坤 2019-12-25 22:06:55 448 0
1 条回答
写回答
取消 提交回答
  • 如果我正确地理解了您的问题,正则表达式应该可以帮助您。基本上你想从另一个推导出一个字符串。

    def get_file_name(full_path):
        import re
        pattern = "I_want_(.*)_in_file_name"
        result = re.search(pattern, full_path)
        if result:
            fruit = result.groups()[0]
            return f"Fruit_{fruit}"
    
    
    get_file_name("blah/blah/I_want_apples_in_file_name")
    # => returns Fruit_apples
    

    如果我没有正确理解你的问题,你能不能让你的问题更具体一些。不要告诉我们生活中你想做的所有事情,只告诉我们那些导致问题的部分。

    2019-12-25 22:07:01
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载