注:このメソッドは、文書のみのdocxファイルに使用することができ、ドキュメントはしないだろう、ドキュメントは、「例えば(これらのページは、あなたが「ファイル名.files」の名前を見つけますファイルフォルダを入力して、HTMLファイルとして保存されました写真の.files「)は、そこに11に保存されたWord文書の絵の前でそれを入力してください。
、1を抽出する際のポイントの問題が発生した、アンパック、2、消去フォルダー、3することはできません、解決しようとすると、ファイルを移動することはできませんすることはできません
スティーブン・シェン2020年3月8日夜07時51分46秒で#revised
* .docxのファイルから抽出の写真#to
インポートzipファイル
輸入OS、shutil
インポート日時
#インポートsend2trash
一時ファイルのインポートTemporaryDirectoryから#
デフでrenameFile(dstpath):
fdirname、fbasename = os.path.split(dstpath)
#同じファイル名が、サイズの異なります
FNAME、FEXT = os.path.splitext(fbasename)
nowtime = datetime.datetime.now()
strtime = STR(nowtime.year)+ STR(nowtime.month)+ STR(nowtime.day)+ STR(nowtime.hour)+ STR(nowtime.minute)
newfbasename = fnameは+ ' - ' + strtime + FEXT
dstpath = os.path.join(fdirname、newfbasename)
リターンdstpath
デフextractPics(doc_inpath、OUTDIR、zipDir):
file_ext = [ 'docxファイル']
dirPathの、FNAME、FEXT = SPLITPATH(doc_inpath)
file_extでFEXT場合:
印刷(doc_inpath + 'を抽出しています...')
fnameNew = fname.strip()
OUT_DIR = os.path.join(OUTDIR、fnameNew)
そうでない場合はos.path.exists(OUT_DIR):#フォルダが存在しません。
lenの場合(os.path.split(OUT_DIR)[ - 1])> 200:
印刷( 'dirnameが長すぎる:' + OUT_DIR)
そうしないと:
os.mkdir(OUT_DIR)
他:#フォルダが既に存在しています
nowtime = datetime.datetime.now()
strtime = STR(nowtime.year)+ STR(nowtime.month)+ STR(nowtime.day)+ STR(nowtime.hour)+ STR(nowtime.minute)
OUT_DIR = os.path.join(OUTDIR、fnameNew + ' - ' + strtime)
zip_path = os.path.join(zipDir、 'docx.zip')
shutil.copyfile(doc_inpath、zip_path)
#zip_path = os.path.join(zip_dir、fnameNew + 'ジッパー')
#os.rename(copy_path、zip_path)
試してみてください。
zipfile.ZipFile Fとして(zip_path、R '')を有します。
f.extractall()
除きます:
印刷(zip_path +「を抽出することができません」)
そうしないと:
picsDir = os.path.join(zipDir、 '単語/メディア')
もしos.path.exists(picsDir):
os.listdir(picsDir)でPIC用:
oldpic = os.path.join(picsDir、PIC)
newpic = os.path.join(OUT_DIR、PIC)
試してみてください。
shutil.move(oldpic、newpic)
除きます:
印刷(doc_inpath + 'はスキップされています')
ファイル一覧= os.listdir(zipDir)
ファイル・リスト内のfに対する:
ファイルパス= os.path.join(zipDir、F)
os.path.isfile(ファイルパス)の場合:
os.remove(ファイルパス)
elifのos.path.isdir(ファイルパス):
shutil.rmtree(ファイルパス、真の)
デフSPLITPATH(doc_inpath):
dirPathの= os.path.dirname(doc_inpath)
FNAME、FEXT = os.path.splitext(os.path.basename(doc_inpath))
リターンdirPathの、fnameは、FEXT
OUTDIR = r'k:/ fileExtracted / imagesFromDocs'
zipDir = r'k:/ fileExtracted /ジップ」
#DOCDIR = r'K:\ imagsDocx」
DOCDIR = r'K:/ドキュメント
そうでない場合はos.path.exists(OUTDIR):
os.makedirs(OUTDIR)
そうでない場合はos.path.exists(zipDir):
os.makedirs(zipDir)
フォルダのため、subFolderName、os.walk内のファイル(DOCDIR):
ファイル内のファイルのために:
doc_inpath = os.path.join(フォルダ、ファイル)
os.chdir(zipDir)
extractPics(doc_inpath、OUTDIR、zipDir)
(「行わ」)印刷