我的文件夹结构是这样的 根目录有多个目录,其中有多个文件,我想要特定的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
如果我正确地理解了您的问题,正则表达式应该可以帮助您。基本上你想从另一个推导出一个字符串。
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
如果我没有正确理解你的问题,你能不能让你的问题更具体一些。不要告诉我们生活中你想做的所有事情,只告诉我们那些导致问题的部分。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。