今さらPython

課題

なんか、自分自身を求めてみようかな?

たしか、argv[0] に自分自身が入ってたから……。うん。
改造中のvideo2mp4 スクリプトの頭に埋め込んでみよう。

コード1

import sys

print(sys.argv[len(sys.argv)-1])

実行結果1

$ video2mp4
/home/illyasviel/bin/video2mp4

うん、出たね。

でたけど、フルパスじゃなくて本体だけがほしいかな。

よし、split で / を切っちゃおう。

コード2

import sys

myself = sys.argv[len(sys.argv)-1].split('/')[len(sys.argv[len(sys.argv)-1].split('/'))-1]
print(myself)

実行結果2

$ video2mp4
video2mp4

うん、出たね。

出たけど…… めんどくさっ!!
たしかに理屈通りに動いたけど。
絶対間違える でしょ、これ。
それに、 いまはUNIX上で試してるからいいけどWindowsだとどうなるの?

……そういえば、 Rubyで使ったbasenameみたいなやつ、使えるかな?

コード3

import os

print(os.path.basename(__file__))

実行結果3

$ video2mp4
video2mp4

おー、当てずっぽうだったけど動いた!


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-12-11 (日) 13:17:33