Maison  >  Article  >  développement back-end  >  Modification par lots des noms de fichiers Python

Modification par lots des noms de fichiers Python

巴扎黑
巴扎黑original
2017-09-11 10:42:371503parcourir

Cet article partage avec vous un script python qui implémente la modification par lots des noms de fichiers en seulement 10 lignes de code. Il est recommandé à tous les amis dans le besoin de s'y référer

Je pensais autrefois qu'écrire des scripts. C'était difficile jusqu'à ce que je rencontre Python

Préface Avec le suivi de la sensibilisation nationale aux droits d'auteur, de nombreuses ressources musicales de films et de télévision ont commencé à être payantes, et Dipan bloque souvent diverses ressources à volonté. Pour protéger les ressources, les anciens pilotes sont de plus en plus enclins à télécharger des ressources localement, mais à mesure que la quantité de ressources locales augmente, la gestion des ressources devient un casse-tête. Il existe de nombreuses façons de gérer les ressources. Je préfère nommer une ressource. , mais changer les noms de fichiers est une tâche ennuyeuse et fastidieuse, donc un script de renommage par lots devient très important.

1. Fonction d'ajout de préfixe par lots

.

Renommer par lots

Logique de renommage par lots, divisée en trois étapes :

( 1) Déterminer les fichiers qui doivent être nommés
(2) Déterminer le nouveau nom du fichier
(3) Changer le nom

Une fois la logique clarifiée, le codage devient très simple


10 lignes de code

Code source de l'image ci-dessus :


# 导入python内置的os模块和sys模块
import os
import sys

# 程序入口
if __name__ == "__main__":
  # 获取需要添加的前缀
  pre = input("请输入需要添加的前缀:")
  # 为了美观,为前缀添加一个中括号
  mark = "[%s]"%pre
  # 获取本目录下所有的文件名
  old_names = os.listdir()
  # 遍历目录下的文件名
  for old_name in old_names:
    # 跳过本脚本文件
    if old_name != sys.argv[0]:
      # 用新的文件名替换旧的文件名
      os.rename(old_name, mark+old_name)

2. (Étendu) Ajouter une fonction de suppression de préfixe :

Ce qui précède Le programme de 10 lignes ne peut ajouter des préfixes que par lots, mais ne peut pas les supprimer par lots. Ce n'est pas parfait. C'est le code source qui ajoute la fonction de suppression des préfixes

Ajouter/Supprimer

. Code source de l'image ci-dessus :


import os
import re
import sys

def add_mark():
  pre = input("请输入需要添加的前缀:")
  mark = "[%s]"%pre
  old_names= os.listdir()
  for old_name in old_names:
    if old_name != sys.argv[0]:
      os.rename(old_name, mark+old_name)

def remove_mark():
  old_names= os.listdir()
  for old_name in old_names:
    try:
      result = re.match(r"(^\[.*\])(.*)", old_name).group(2)
      rm = old_name

      if result:
        os.rename(old_name, result)
      print("已为%s移除前缀"%rm)
    except Exception as e:
      pass

def main():
  while True:
    option = int(input("请选择功能数值:\n1.添加前缀\n2.删除前缀\n3.退出程序\n"))
    if option == 1:
      add_mark()
    elif option == 2:
      remove_mark()
    else:
      exit()

if __name__ == "__main__":
  main(

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn