【问题标题】:python scripts for copying and renaming用于复制和重命名的python脚本
【发布时间】:2018-07-25 23:40:50
【问题描述】:

我是全新的 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]

【问题讨论】:

  • 您有问题吗? “需要 python 脚本”不是问题。
  • 如果您有一些接近工作但无法工作的代码,并且您需要帮助修复它,而不是告诉我们有关它的故事,请发布代码(简化为 minimal reproducible example) ,告诉我们它做错了什么(通过显示所需输出与实际输出),并告诉我们您在尝试修复它时遇到的问题,我们可以向您展示如何修复它。

标签: python python-2.7 versioning renaming copying


【解决方案1】:
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}'))

希望这会有所帮助:)

【讨论】:

  • 非常感谢@Hossam Ashraf
【解决方案2】:

你可以使用 f 个字符串

  1. for v in range(0,len(your_list):
  2. name_of_file = f'v{n:03}'

如果你给我看一个文件名的例子,我可以帮上忙

【讨论】:

  • 文件名类似于“fish_modlUV_v001.ma”。此文件名有 4 个段。鱼,modlUV,v001 和分机。我想知道脚本是否检测到所有这些段并获取 v001 并添加 1 个数字以增加版本。所以它将是“fish_modlUV_v002.ma”
【解决方案3】:

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

字符串操作

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

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)

现在您已经掌握了所需的知识,您应该自己尝试解决问题。如果您有任何其他问题或我遗漏了什么,请随时提问。最好的学习方法是做。

【讨论】:

    猜你喜欢
    • 2016-09-27
    • 2018-03-09
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 2014-06-21
    • 2019-12-15
    相关资源
    最近更新 更多