ネットワークで接続されたパソコンやサーバー、ネットワーク機器間でファイルを転送するときにPython3を使う方法をご紹介します。この方法を知っていると結構役に立ちますよ!
LinuxはもちろんWindowsでも同様に使えます。
タップできる目次
HTTPでファイルをダウンロードできるようにする
インストール
Pythoh3がインストールされていれば、その他にインストールは不要です。
使い方
python3 -m http.server [Port] [-d <Dir>]
ポート番号を指定しない場合は8080/tcpでリッスンします。ポート番号を指定したい場合は python3 -m http.server 80
のように-p
オプションでポート番号を指定します。
公開するディレクトリを指定する場合は python3 -m http.server -d /tmp/www
のように -d
オプションでディレクトリを指定します。
FTPでファイルをダウンロード・アップロードできるようにする
インストール
「pyftpdlib」というモジュールのインストールが必要となります。
python3 -m pip install pyftpdlib
使い方
python3 -m pyftpdlib [ -w ] [-p <Port>] [ -d <Dir> ] [ -u <User> ] [ -P <Password> ]
オプションを指定しない場合、2121/tcpでリッスンします。ポート番号を指定したい場合は python3 -m pyftpdlib -p 21
のようにします。
また、アップロードしたい場合は -w
オプションを付けて書き込み権限を与えます。
公開するディレクトリを指定する場合は python3 -m pyftpdlib -d /tmp/ftp
のように -d
オプションでディレクトリを指定します。
ユーザー名を指定しない場合は「anonymous」でログインできます(ユーザー名とパスワード両方)。
ユーザー名とパスワードを指定したい場合は -u
オプションと -p
オプションを使います。
TFTPでファイルをダウンロードできるようにする
インストール
「py3tftp」というモジュールのインストールが必要となります。
python3 -m pip install py3tftp
使い方
python3 -m py3tftp [ -p <Port> ]
オプションを指定しない場合、9069/udpでリッスンします。ポート番号を指定したい場合は python3 -m pip install py3tftp -p 69
のようにします。
まとめ
Python3だけでファイルのやり取りを行う方法をご紹介しました。
いざという時にこれらの方法を知っていると役に立つ場面が結構あるので、こんな方法があるんだという事を頭の片隅に入れておくと良いと思います。