python3でコードを自動実行する!
あなたはコードを書いてterminalをクリックコードを実行!またエディターをクリック!また・・・とかありませんか?
エディターにはスクリプト実行もありますが、モジュールの関連付けとちょっと面倒くさい!!
と私は思い、そこで自動実行のスクリプトを書こうと思い至ったわけです。
コード
ディレクトリ内のファイルを検索し、更新日を比較して更新されていたら比較ファイルが30バイト以上のものを実行するようにしました。
現状のコードは無限ループにも対応してません。
import os
import time
import re
import datetime
import subprocess as sp
# 実行コマンド
run_name = "python3"
class File_data:
""" Get of data in the file """
re_search = re.compile(".swp")
def __init__(self):
# ファイル名を取得
self.file_name = [
name for name in os.listdir() if (not re.search(name, "swp"))]
# ファイルの名前と更新日時を辞書にする。
self.file_time = {
name: os.stat(name).st_mtime for name in self.file_name}
while True:
# 比較用インスタンス
data1 = File_data()
time.sleep(5)
# 比較用5秒後のインスタンス
data2 = File_data()
# ファイルを作成したときにエラーになるためファイルを作成したら戻る。
if len(data1.file_name) != len(data2.file_name):
time.sleep(1)
continue
for i in data2.file_name:
# ファイルの更新日時に差異を検出
if data2.file_time[i] != data1.file_time[i]:
# ファイルが小さすぎると困るためサイズを最小指定
if os.path.getsize(i) > 30:
print(run_name, i)
sp.call([run_name, i])
あとがき
今回のコードだと無限ループだと上手くいきません。。
良いアイディアがありましたらお願いします。
Author And Source
この問題について(python3でコードを自動実行する!), 我々は、より多くの情報をここで見つけました https://qiita.com/shun-yae/items/5ac81a91293bf0975018著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .