なんか、自分自身を求めてみようかな?
たしか、argv[0] に自分自身が入ってたから……。うん。
改造中のvideo2mp4 スクリプトの頭に埋め込んでみよう。
import sys print(sys.argv[len(sys.argv)-1])
$ video2mp4 /home/illyasviel/bin/video2mp4
うん、出たね。
でたけど、フルパスじゃなくて本体だけがほしいかな。
よし、split で / を切っちゃおう。
import sys myself = sys.argv[len(sys.argv)-1].split('/')[len(sys.argv[len(sys.argv)-1].split('/'))-1] print(myself)
$ video2mp4 video2mp4
うん、出たね。
出たけど…… めんどくさっ!!
たしかに理屈通りに動いたけど。
絶対間違える でしょ、これ。
それに、 いまはUNIX上で試してるからいいけどWindowsだとどうなるの?
……そういえば、 Rubyで使ったbasenameみたいなやつ、使えるかな?
import os print(os.path.basename(__file__))
$ video2mp4 video2mp4
おー、当てずっぽうだったけど動いた!