亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

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

系統(tǒng) 1954 0

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

修改前:[腳本之家]Mac OS X for Unix Geeks[www.jb51.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","\[.*\](.*)\[www.jb51.net\](.*)",lambda m:m.group(1)+m.group(2))

用perl寫(xiě)了下,感覺(jué)代碼也沒(méi)有少寫(xiě)多少

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

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 實(shí)現(xiàn)2

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

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");


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 欧美乱理伦另类视频 | 免费v片在线观看无遮挡 | 啊用力嗯快国产在线观看 | 国内精品免费一区二区三区 | 狠狠色伊人亚洲综合成人 | 国产精品欧美一区二区 | 国产国产人免费人成成免视频 | 最新国产精品自拍 | 极品美女一级毛片免费 | 日本在线观看不卡 | 免费国产成人高清在线观看视频 | 日韩欧美国产高清在线观看 | 亚洲社区在线观看 | 久久性生大片免费观看性 | 国产精品真实对白精彩久久 | 免费的毛片网站 | 奇米影视777在线观看 | 亚洲精品动漫3d一区二区 | 欧美爽爽| 91粉嫩萝控精品福利网站 | 欧美xvideosexo另类 | 久久精品综合 | 国产精品视频观看 | 最新国产中文字幕 | 一级毛片在线观看视频 | 亚洲精品久久久久久久无 | 伊人久久久久久久久香港 | 国产视频二区在线观看 | 99久久国产综合精品网成人影院 | 夜夜撸日日干 | 成人国产综合 | 中文字幕在线观看免费视频 | 欧美大片日韩精品四虎影视 | 国产美女精品在线观看 | 日韩www视频 | 91成人免费观看网站 | 一级黄色毛片 | 欧美爱爱小视频 | 欧美jizzhd欧美巨大 | 夜夜操网| 精品无人区乱码1区2区 |