Pythonを使用してネットワークフォルダにアクセスする方法を知りたい人のために、この記事では実際に役立つ手法を紹介します。
ローカルファイルシステムとは異なり、ネットワークフォルダは共有ディレクトリであるため、少し特殊な設定が必要です。
しかし、一度理解すれば多くのタスクを自動化でき、作業がスムーズに進むでしょう。
Pythonのライブラリを使ってネットワークフォルダにアクセス
以下のPythonコードの例では、まず必要なライブラリをインストールし、その後にネットワークフォルダにアクセスするためのコードを示します。
必要なライブラリのインストール
ネットワークフォルダにアクセスするには、まずいくつかのライブラリが必要になります。
主に使用するのは os
と pywin32
です。
pip install pywin32
ネットワークドライブのマウント
次にpywin32
ライブラリを使ってネットワークフォルダをマウントします。
import os
import win32netcon
import win32wnet
# ネットワークドライブのパス
net_drive_path = r'\\NETWORK_PATH\SHARE_FOLDER'
# 認証情報
user_name = 'username'
password = 'password'
def mount_network_drive():
try:
win32wnet.WNetAddConnection2(
win32netcon.RESOURCETYPE_DISK,
None,
net_drive_path,
None,
user_name,
password
)
print(f'ネットワークドライブ {net_drive_path} に接続しました')
except Exception as e:
print(f'ネットワークドライブの接続に失敗しました: {e}')
# 接続を切る場合
def unmount_network_drive():
try:
win32wnet.WNetCancelConnection2(net_drive_path, 0, True)
print(f'ネットワークドライブ {net_drive_path} の接続を切りました')
except Exception as e:
print(f'ネットワークドライブの接続解除に失敗しました: {e}')
# ネットワークドライブのマウント
mount_network_drive()
# 必要な操作を行う
# 例: ファイルリストを表示
for root, dirs, files in os.walk(net_drive_path):
for file in files:
print(os.path.join(root, file))
# ネットワークドライブのアンマウント
unmount_network_drive()
ネットワークフォルダからのファイル操作
上記コードではネットワークフォルダをマウントした後、指定されたディレクトリ内のファイルをリストする例を示しています。
os.walk()
を使えば、フォルダ内を再帰的に探索し、ファイルやサブフォルダにアクセスすることができます。
エラーハンドリング
ネットワークに関する操作は予期せぬエラーが発生しやすいです。
例えば、ネットワークの断絶やアクセス権の問題などがあります。上記のコード例では例外処理(try...except
)を使用することで、エラーメッセージを表示し、プログラムがクラッシュしないようにしています。
まとめ
Pythonを使えばネットワークフォルダへのアクセスもスムーズに行うことができます。
特にバックアップや自動化スクリプトなどで活用でき、作業効率を大幅に向上させることが可能です。
最初は設定や認証情報の管理に少し手間取るかもしれませんが、一度この手法をマスターすれば、日常業務で大いに役立つことでしょう。]
以上、Pythonでネットワークフォルダにアクセスする方法についてでした。
最後までお読みいただき、ありがとうございました。