3
3

More than 3 years have passed since last update.

pythonでフォルダ作成・ファイル移動,圧縮,削除の操作

Posted at

フォルダ作成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)

以上

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3