最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python和perl實現(xiàn)批量對目錄下電子書文件重命名的代碼分享

 更新時間:2014年11月21日 09:14:24   投稿:junjie  
這篇文章主要介紹了Python和perl實現(xiàn)批量對目錄下電子書文件重命名的代碼分享,本文同時給出了Python和perl兩種語言的實現(xiàn)代碼,需要的朋友可以參考下

經(jīng)常會遇到下載的文件或電子書,名字中間都包含了一些網(wǎng)址信息,實際使用中由于名字太長不方便,下面的腳本使用正則表達式來對目錄下的所有文件重命名:
例如:

修改前:[腳本之家]Mac OS X for Unix Geeks[m.fzitv.net].mobi
修改后:Mac OS X for Unix Geeks.mobi

python代碼如下:

復(fù)制代碼 代碼如下:

import os
import re

def rename_dir(dir,regex,f):
  if not os.path.isdir(dir) or not os.path.exists(dir) :
    print("The input is not one directory or not exist.")
  for root,subdirs,files in os.walk(dir):
    for name in files:
      oldname = name         
      newname = re.sub(regex,f,name)
      print("Before : " + os.path.join(root,oldname))
      print("After  :  " + os.path.join(root,newname))
      if not name == newname and not os.path.exists(os.path.join(root,newname)):
        os.rename(os.path.join(root,oldname),os.path.join(root,newname))
    for dir in subdirs:
        rename_dir(os.path.join(root,dir))

rename_dir("C:\\Python31\\test","\[.*\](.*)\[m.fzitv.net\](.*)",lambda m:m.group(1)+m.group(2))

用perl寫了下,感覺代碼也沒有少寫多少

復(fù)制代碼 代碼如下:

use strict;
use warnings;
use File::Find;

my $regex = "\\[.*\\](.*)\\[m.fzitv.net\\](.*)";
# $replace doesn't work
my $replace = "\$1\$2";

sub wanted {
 my $name = $File::Find::name;
 if( -f $name){
   my $newname =$name;
   $newname =~ s/$regex/$1$2/;
   print "Before: $File::Find::name\n";
   print "After : $newname\n";
   if( !-e $newname) {
     rename($name, $newname);
   }
 }
}

sub rename_dir{
  my ($dir,) = @_;
  if (!-d $dir || !-e $dir){
    print"The input is not directory or not exist.";
  }
  find(\&wanted, $dir);
}
&rename_dir("c:\\perl\\test");

perl 實現(xiàn)2

復(fù)制代碼 代碼如下:

use strict;
use warnings;

my $regex = "\\[.*\\](.*)\\[m.fzitv.net\\](.*)";
# $replace doesn't work
my $replace = "\$1\$2";

sub rename_dir{
    my $dir = shift;
    if (!-d $dir || !-e $dir){
      print"The input is not directory or not exist.";
    }
    opendir(DIR, $dir) || die "Cannot opendir $dir.";
    foreach (readdir(DIR)) {
      if ($_ eq '.' || $_ eq '..') {next;}
      my $name = $dir.'/'.$_;
      if(-d $name){
        rename_dir($name);        
        next;
        }
      my $newname =$_;
      $newname =~ s/$regex/$1$2/;
      $newname = $dir.'/'.$newname;
      print "Before : $name\n";
      print "After  : $newname\n";
      rename($name,$newname);
    }
    #closedir(DIR);
}
&rename_dir("c:\\perl\\test");

相關(guān)文章

  • python中matplotlib的顏色及線條控制的示例

    python中matplotlib的顏色及線條控制的示例

    這篇文章主要介紹了python中matplotlib的顏色及線條控制的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Python的批量遠程管理和部署工具Fabric用法實例

    Python的批量遠程管理和部署工具Fabric用法實例

    這篇文章主要介紹了Python的批量遠程管理和部署工具Fabric用法,實例分析了Fabric的功能與具體使用方法,需要的朋友可以參考下
    2015-01-01
  • django用戶注冊、登錄、注銷和用戶擴展的示例

    django用戶注冊、登錄、注銷和用戶擴展的示例

    本篇文章主要介紹了django用戶注冊、登錄、注銷和用戶擴展的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • pytorch 梯度NAN異常值的解決方案

    pytorch 梯度NAN異常值的解決方案

    這篇文章主要介紹了pytorch 梯度NAN異常值的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 10個python爬蟲入門基礎(chǔ)代碼實例 + 1個簡單的python爬蟲完整實例

    10個python爬蟲入門基礎(chǔ)代碼實例 + 1個簡單的python爬蟲完整實例

    這篇文章主要介紹了10個python爬蟲入門基礎(chǔ)代碼實例和1個簡單的python爬蟲爬蟲貼吧圖片的實例,需要的朋友可以參考下
    2020-12-12
  • 使用Python分析wireshark文件

    使用Python分析wireshark文件

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)分析wireshark文件,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • Python 面向?qū)ο笾庋b、繼承、多態(tài)操作實例分析

    Python 面向?qū)ο笾庋b、繼承、多態(tài)操作實例分析

    這篇文章主要介紹了Python 面向?qū)ο笾庋b、繼承、多態(tài)操作,結(jié)合實例形式分析了Python面相對象程序設(shè)計中封裝、繼承、多態(tài)相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2019-11-11
  • Python魔術(shù)方法專題

    Python魔術(shù)方法專題

    這篇文章主要介紹了Python魔術(shù)方法的的相關(guān)資料,文章講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • PyCharm如何導(dǎo)入python項目的方法

    PyCharm如何導(dǎo)入python項目的方法

    這篇文章主要介紹了PyCharm如何導(dǎo)入python項目的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python實現(xiàn)的彩票機選器實例

    Python實現(xiàn)的彩票機選器實例

    這篇文章主要介紹了Python實現(xiàn)彩票機選器的方法,可以模擬彩票號碼的隨機生成功能,需要的朋友可以參考下
    2015-06-06

最新評論

博罗县| 华安县| 通江县| 阿瓦提县| 渝北区| 奇台县| 岱山县| 兰坪| 贵南县| 合肥市| 翼城县| 库车县| 嫩江县| 涿鹿县| 雅安市| 枣强县| 蕲春县| 拉孜县| 宣城市| 额尔古纳市| 分宜县| 芦溪县| 和顺县| 南宁市| 辽阳市| 吉首市| 改则县| 聊城市| 锦州市| 邹平县| 永善县| 循化| 互助| 文山县| 仙桃市| 临沧市| 泽州县| 长治市| 新建县| 理塘县| 玉田县|