欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 97久久超碰 | 蜜桃视频在线观看www社区 | 久久这里只有精品99 | 精品国产色| 精品欧美一区二区三区久久久 | 三级色视频 | 成人免费网站视频 | 成年网站在线播放 | 污污的网站免费观看 | 另类激情网 | 色一区二区 | 天天干电影 | 久久精品国产清自在天天线 | 国产精品黄网站免费进入 | 天天操人人射 | 日韩视频在线观看免费 | 色综合亚洲色综合久久网张柏芝 | 天天摸天天爽视频69视频 | 国产资源一区 | 三级视频在线播放 | 91国在线国内在线播放 | 91在线视频 | 精品国产免费久久久久久 | 日韩在线中文字幕 | 亚洲一区二区三 | 色噜噜狠狠狠狠色综合久不 | 男女又黄又刺激B片免费网站 | 精品AV综合一区二区三区 | 久久www免费人成看片高清 | 久久首页 | 日本精品人妻无码免费大全 | 久久久久久天天夜夜天天 | 欧美激情精品久久久久 | 日本在线精品 | 在线免费观看h片 | 精品亚洲福利一区二区 | 欧美高清在线精品一区二区不卡 | 国产乱码一区二区三区 | 免费精品 | 成人免费视频观看视频 | 亚洲区欧美中文字幕久久 |