#フォルダ作成makedirs
exist_okでフォルダが存在している場合には作らない。
指定しなければエラー。
import os
dir_path = os.path.join('C:\\Users\\username\\Desktop','00')
os.chdir(dir_path)
os.makedirs('new_made', exist_ok=True)
dir_path_sub_folder = os.path.join(dir_path,'new_made')
#一旦操作するファイルを作成
from sklearn.datasets import load_iris
import pandas as pd
iris = load_iris()
irisDF = pd.DataFrame(iris.data)
csv_name='iris.csv'
irisDF.to_csv(csv_name,header=False,index=False)
#フォルダ内のファイル名を取得
import glob
files = glob.glob(dir_path+"\\"+csv_name)
#ファイルの移動
import shutil
move_csv_path = shutil.move(files[0], dir_path_sub_folder+"\\"+csv_name)
#zipに圧縮
import zipfile
zip_name=dir_path_sub_folder+'\\iris.zip'
with zipfile.ZipFile(zip_name, 'w', compression=zipfile.ZIP_DEFLATED) as new_zip:
new_zip.write(move_csv_path, arcname=csv_name)
#ファイルの削除
os.remove(move_csv_path)
#圧縮ファイルの解凍
zip_file = zipfile.ZipFile(zip_name)
zip_file.extractall()
解凍先を指定
os.makedirs('extract_zip', exist_ok=True)
zip_file.extractall('extract_zip')
#フォルダやファイルの削除
中身の入ったフォルダはremoveで削除できない
os.remove(dir_path_sub_folder)
PermissionError: [WinError 5] アクセスが拒否されました。
シェルユーティリティー(shutil)を使えば完全に削除できる
shutil.rmtree(dir_path_sub_folder)
完全でなく、ゴミ箱に送って復元もできるようにする。
import send2trash
send2trash.send2trash(dir_path_sub_folder)
#以上