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

python scripts for copying and renaming

我是全新的 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 字符串

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

如果你给我一个文件名的例子,我可以提供帮助

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

字符串操作

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

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

文件重命名

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

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

希望这对您有所帮助:)