ON-BLOG

CGのこと、あれこれ書いてます。

Pythonコピペツール

テストも兼ねて軽いものですが、テキスト読み込むツールを作成しました。
最近本格的にPython触るのんですが、約1年ぶりに触ったためか
殆ど忘れてて焦ってます…

ではまずはコード
とりあえず、「pyscripter」で動作確認済みです。

# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name: fileCheck.py
# Purpose: スクリプトを配置したフォルダでテキストを参照して
#       記載がないものを消したり、表示したりするプラグイン
#       使い方は上記に書いている通り、テキストと比較したいフォルダに
#       このスクリプトを配置して、比較対象のテキストも「list_base.txt」として
#       配置して下さい。あとは実行するだけです。
#       操作する場合は最終行を色々カスタム下さい。
# Author: tommy_on
#
#-------------------------------------------------------------------------------
 
import os # osモジュールのインポート
import re # 正規表現モジュールのインポート
 
# os.listdir('パス')配列にファイルを格納
files = os.listdir(os.path.dirname(__file__))
pick = []#空の配列を用意
obj_del = []
f = open('list_base.txt','r')#検索するファイル一覧があるテキストを開き、配列で取得
 
for k in f.readlines():
pick.append(k)#速度保持の為、一度配列に格納
f.close()
a_str = map(str,pick)#なんとなく文字列の方がサーチが早いような気がしたので文字列化
del_joint = ",".join(a_str)#カンマで区切り入れて
 
for file in files:
basename, extension = os.path.splitext(file)#スピリットして、拡張子を取得
if extension == ".txt" or extension == ".csv":#一応テキストとCSVを指定。※何となく。
Find_name = re.search (file, del_joint)#pickでは使われていないファイルを取得
if Find_name is None:
os.remove(file)
 
#input_f = input("パイソンはこれでインプット使えるみたい。")

f:id:tommy_on:20150512165333j:plain
こんな感じにします。消したいファイルがあるフォルダにスクリプトと比較用のテキストを配置します。
テキストは比較毎に改行しておいて下さい。
不要なデータを削除する時に使いますが、今回はすごく限られた状態のツールになります。
んで、あとは実行するだけ。

f:id:tommy_on:20150512165358j:plain
すると、画像みたいに、テキストになかったファイルが消えます。
現状ファイルの関係で「list」ファイルも削除しております。
これに問題が出た際はLISTテキストに自身のテキストファイルを描き込んでおくと
消されません。


最後コメントアウトしている部分は、先日知ったコードなので
忘れない内にここに書いておこうと思いますw
要は「インプットボックス」を表示するだけのものなんですが
知らなくて、いつもPySideでやってたんで…



以上です。