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

时间:2018-07-25 23:40:50

标签: 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('.')

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

thirdSeg = fileVersion[1:5]

versionNum = int(thirdSeg) + 1

print filesegments, raw_input(versionNum), fileparts[1]

3 个答案:

答案 0 :(得分:0)

您可以使用f个字符串

  1. 对于范围内的v(0,len(您的列表):
  2. name_of_file = f'v {n:03}'

如果您给我看一个文件名示例,我可以为您提供帮助

答案 1 :(得分:0)

此站点用于就您尝试过的问题寻求帮助。将来,我建议添加您自己的代码并向我们显示您遇到的困难,以便人们可以帮助您解决该问题,而不是让他们为您解决整个问题。我会给您一些代码片段,这些代码片段将对您有所帮助,但是您应该先在这些论坛上进行搜索,然后再提出可以通过一些先前研究解决的问题。

字符串操作

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

https://docs.python.org/2/tutorial/introduction.html

文件重命名

如何重命名具有指定目录的文件:

dependencies

现在,您有了所需的知识,就应该亲自尝试解决问题。如果您还有其他问题,或者我错过了任何事情,请随时提出。最好的学习方法就是去做。

答案 2 :(得分:0)

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}'))

希望这会有所帮助:)