以前に .rst ファイルのテンプレートを作成したのと同じ要領で .py ファイルにも autoinsert を使って、必要な部分が最初から挿入されているように設定しました。
Python の本や他人のコードなどでよく見られるお約束的な部分(__name__ が __main__ かどうかを見る)について、これまでは何となく避けていましたが、今後は基本に忠実に、真似るべきところは真似るようにしていきます。
#!/usr/bin/env python
#-*- coding: utf-8; -*-
def main():
pass
if __name__ == '__main__':
main()
こういうテンプレートファイル(template.py)を用意して init.el を少し編集します。
;; 各ファイルによってテンプレートを切り替える
(setq auto-insert-alist
(nconc '(
("\\.rst$" . ["template.rst" my-template])
("\\.py$" . ["template.py" my-template])
) auto-insert-alist))
これで OK です。