Pythonプログラミングでファイルをドラッグ&ドロップでフルパスを取得しようと思いました。
使用している環境はWindowsでPython 3.13です。
pyファイルにファイルをドラッグ&ドロップ
以下の内容のPythonスクリプトファイル(pyファイル)を作成しました。
test10.py : 動作確認用ファイル
python
import time
import sys
val = sys.argv[1]
print(val)
print("この画面は30秒間表示されます。")
time.sleep(30)
ファイルtest.txtをドラッグ&ドロップし、test10.pyを実行させました。
実行結果はこのように表示されます。
CLI
W:\projects\python\test\test10\test.txt
この画面は30秒間表示されます。
コマンドライン引数のsys.argv[1]を使用するとtest.pyにドラッグ&ドロップされたファイルのパスが取得できました。
sys.argv[1]はsysモジュールが必要なのでimport sysを記述します。
time.sleep()で指定した秒数の30秒間ほど画面が表示されたままになり、その後閉じます。
pyファイル実行中のCUI画面にファイルをドラッグ&ドロップ
以下の内容のPythonスクリプトファイル(pyファイル)を作成しました。
exdef.py : 自作関数ファイル
python
def filein():
print("ファイルを画面上にドラッグアンドドロップしてEnterしてください")
filename = input()
#print(filename)
return filename
test8.py : 動作確認用ファイル
python
import time
import exdef
val = exdef.filein()
print(val)
print("この画面は30秒間表示されます。")
time.sleep(30)
pyファイル実行中のCUI画面にファイルtest.txtをドラッグ&ドロップしてEnterキーを押しました。
実行結果はこのように表示されました。
CLI
ファイルを画面上にドラッグアンドドロップしてEnterしてください
W:\projects\python\test\test8\test.txt
W:\projects\python\test\test8\test.txt
この画面は30秒間表示されます。