質問: オライリーの、入門python3に取り組んでいるプログラミング初学者です。 143ページの boxes/weather.py をvim で書き、保存しようとしたところ、 e212 can't open file for writing (書き込み権限がない)というエラーメッセージが発生しました。 1どうして自分に書き込み権限がないのでしょうか。 少し調べた結果、:w !sudo tee というコマンドで解決できると知ったのですが、 2どのような理屈でこのコマンドが有効なのかわかりません。教えていただきたいです。 さらに、このコマンドを入力した結果、パスワードを要求されたのですが、 3キーボードが反応せず、パスワードを入力することができません。どうすれば解決できるのでしょうか。 123へのご回答、よろしくお願いします。
回答: `boxes/weather.py`というのは、「カレントディレクトリにある`boxes`というディレクトリにある`weather.py`というファイル」ですが、`boxes`というディレクトリはちゃんと作りましたか?何となく、作って無さそうな気がします。 `mkdir boxes`で、作ってから、`vim boxes/weather.py`してください。 いままだ`vim`を開いたままなら、とりあえず`:w /tmp/1`するとファイルに書けますので、一度`vim`を終了させ、`mkdir boxes`して、`mv /tmp/1 boxes/weather.py`しましょう。 > > :w !sudo tee というコマンドで解決できると知ったのですが、 > > > は、あんまり薦めません。 > > キーボードが反応せず、 > > > パスワードを入れると、●●●● のように表示されるのを期待したのでしょうか? 表示すると、後ろから見ている人がいる場合に、パスワードの文字数がばれますので、Unix/Linuxのコマンドでは●●●●などは表示しないのが普通です。