用于复制和重命名的python脚本

用于复制和重命名的python脚本,python,python-2.7,versioning,renaming,copying,Python,Python 2.7,Versioning,Renaming,Copying,我是全新的python用户,正在寻求帮助。需要python脚本来复制和更新(重命名)现有文件。我试图为版本升级创建脚本,但它只是添加了001+1=2,而不是v002。此外,我正在寻找第一次分裂的文件名,然后重新组装后,做了版本号的数学。我期待着有人能在这方面提供真正的帮助。有人可以创建并向我展示简单的代码吗?提前谢谢 import os import shutil filename = 'New_Text_v001.txt' fileparts = filename.split('.') f

我是全新的python用户,正在寻求帮助。需要python脚本来复制和更新(重命名)现有文件。我试图为版本升级创建脚本,但它只是添加了001+1=2,而不是v002。此外,我正在寻找第一次分裂的文件名,然后重新组装后,做了版本号的数学。我期待着有人能在这方面提供真正的帮助。有人可以创建并向我展示简单的代码吗?提前谢谢

import os
import shutil

filename = 'New_Text_v001.txt'
fileparts = filename.split('.')

filesegments = fileparts[0].split('_')
fileVersion = filesegments[-1]

thirdSeg = fileVersion[1:5]

versionNum = int(thirdSeg) + 1

print filesegments, raw_input(versionNum), fileparts[1]
可以使用f字符串

  • 对于范围内的v(0,len)(您的_列表):
  • _文件的名称=f'v{n:03}'

  • 如果你给我看一个我可以帮助的文件名的例子,这个网站是用来请求帮助解决你自己尝试过的问题的。将来,我建议添加你自己的代码并向我们展示你遇到的问题,这样人们就可以帮你解决这个问题,而不是让他们帮你解决整个问题。我会给你一些提示这些代码可能会对你有所帮助,但你应该先在这些论坛上搜索一下,然后再问一些可以通过之前的研究解决的问题

    字符串操作

    我建议阅读以下内容的字符串连接和字符串拼接:

    文件重命名

    如何使用指定目录重命名文件:

    import os
    old_file = os.path.join("directory", "a.txt")
    new_file = os.path.join("directory", "b.kml")
    os.rename(old_file, new_file)
    
    既然你已经掌握了所需的知识,你应该自己尝试解决这个问题。如果你还有任何问题或我遗漏了什么,请随意提问。学习的最好方法就是去做

    import re
    
    file_names = ["fish_modlUV_v002.ma","fish_modlUV_v001.ma","fish_modlUV_v103.ma","fish_modlUV_v041.ma"]
    new_file_names = []
    for s in file_names:
        digits = re.search('\d\d\d',s)
        start_num = digits.start()
        end_num = digits.end()
        strin_num= s[start_num:end_num]
        num = int(strin_num)
        num +=1
        new_file_names.append(s.replace(strin_num,f'{num:03}'))
    

    希望这有帮助:)

    你有问题吗?“需要python脚本”不是一个问题。如果您有一些接近工作但不工作的代码,您需要帮助修复它,而不是告诉我们一个关于它的故事,发布代码(简化为a),告诉我们它做错了什么(通过显示所需的与实际的输出),并告诉我们您在尝试修复它时遇到了什么困难,我们可以向您展示如何修复它。文件名类似于“fish_modlUV_v001.ma”。此文件名有4段。fish、modlUV、v001和ext。我想知道脚本是否检测到所有这些段并获取v001并添加1个数字以增加版本。所以这将是“fish_modlUV_v002.ma”,非常感谢@Hossam Ashraf