底辺プログラマーBlog
日常で学んだことなどを記事にしていきます。
Python

一定間隔でPythonファイルを実行する方法

今回もPythonの記事を掲載します。前回TwitterAPIを使用してフォローするPythonコードを紹介しました。でもそれだけだと毎回コードを実行しないといけないのでかなり不便です。

Contents

一定間隔でPythonファイルを実行する方法

なので一定間隔でPythonファイルを実行できるコードを紹介します。一定間隔でコードを実行するためにThreadingモジュールをimportして使います。コードは以下の通りです。

timeモジュールについて

timeをimportしていますが、今回コードには記載していません。一応説明しておくとtime.time()で処理の実行時間を取得できます。プログラムの開始と終了時にtime.time()で値を保持し、終了時の値から開始時の値を引けば処理の実行時間が取得できるようになります。処理の実行時間を測る必要がある場合に使用してください。

pythonファイルからコマンドを実行する方法

上記のコードではsubprocessを使用しています。commandsモジュールを使用する方法もありますが、最近はsubprocessを使用するのが一般的です。subprocessモジュールを使用すればコマンドを実行でき、外部ファイルを実行することも可能となります。

使い方は下記のとおりです。
subprocess.call(“実行したいコマンド”)
これでコマンドが実行できます。簡単ですね!

間隔を設定する

処理を待機させるためにtimeモジュールのsleepメソッドを使います。sleepの引数は秒単位で設定することができます。上記のコードだと5秒待機するという意味です。ループ内でtime.sleep(5)を使用すれば5秒間隔で処理を実行することになります。これでタイトルにある一定間隔でpythonファイルを実行することが可能となりました。

なぜ一定間隔で実行する必要があるのか?

一定間隔で処理を実行させる目的はTwitterAPIの制限にかからないために必要です。間隔を1時間とかにしてフォロー30人くらい行えば24時間で700人以上のフォローが可能です。まぁ1日に720人フォローしたら間違いなくBANされると思いますが。。。一定時間でコードを実行できれば後は1日1回このコードを叩くだけで楽ちんでフォロ―を集めることができるので是非参考にしてください。

最後に

一定間隔で実行するコードをサーバーに置いて実行させようと思いましたが、筆者が使用しているさくらレンタルサーバーではpython3.7が使用できませんでした。そもそもroot権限がないのでsudoコマンドを使用することもできません。。。

さくらレンタルサーバーのpythonバージョンは2.7.6です。。。安易にバージョンを上げるべきではないというのはわかりますが、せめてpython3.7を使える環境を用意してほしいです!

今回の記事は以上となります。最後まで読んで頂きありがとうございます。

%d人のブロガーが「いいね」をつけました。