欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統 1835 0

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

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

python代碼如下:

復制代碼 代碼如下:

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","\[.*\](.*)\[www.jb51.net\](.*)",lambda m:m.group(1)+m.group(2))

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

復制代碼 代碼如下:

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

my $regex = "\\[.*\\](.*)\\[www.jb51.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 實現2

復制代碼 代碼如下:

use strict;
use warnings;

my $regex = "\\[.*\\](.*)\\[www.jb51.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");


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91亚洲精品丁香在线观看 | 欧美成人午夜免费完成 | 四虎在线免费观看视频 | 午夜精品久久久久久久男人的天堂 | 日韩三区 | 天天干天天操天天舔 | 欧美2区 | 97超精品视频在线观看 | 国产成人综合自拍 | 曰批全过程40分钟免费视频多人 | 欧美精品一区二区在线观看 | 国产在线精品一区二区三区 | 一区中文字幕 | 日产乱码卡1卡2卡三免费 | 精品天堂 | 中日欧洲精品视频在线 | 日韩欧美在线视频 | 国产片在线观看 | 青青草娱乐在线 | 亚洲一区二区久久 | 久久久久久久久久免观看 | 午夜三级影院 | 日韩国产一区二区 | 久久精品免费国产 | 成年网站视频在线观看 | 国产区精品在线 | 欧美综合亚洲 | 我不卡在线观看 | 夜夜操夜夜骑 | www.日日日| 亚洲视频在线一区 | 国产情侣啪啪 | 97超碰人人草 | 国产欧美日韩在线观看 | 狠狠色噜噜狠狠狠狠黑人 | 天天摸天天操天天干 | 成人午夜性视频欧美成人 | 极色影院 | 奇米色吧| 精品a级片| 亚洲国产一区二区三区四区 |