私の使っている本には:

”拡張子は必須ではありませんが”と、書いてあります。

しかし、実際として**.pyは付けないとwindowsではインタプリタの実行は行われません。

ここで、この問題点をPythonとWindowsの2つに分けて考えてみました。

Python自体には**.pyと言う拡張子をつける規則はないが、
Windowsとしては、**.pyの拡張子がないとPythonファイルとして認識しないので付ける。

以上で正しいでしょうか?
それとも、私が使っている本の”拡張子は必須ではありませんが”が間違っているのでしょうか?

宜しく、願います。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

私の環境(Windows XP Pro)では、拡張子を付けなくても問題なく実行できました。


Python自体には拡張子必須という規則はないようです。
ただし、モジュールをimportする場合は、必須のようです。
実行が行われないというのは、どういう実行方法で実行していますか?
あとOSは何ですか?
    • good
    • 0

>2) unix系OSや互換環境で #! (shebang)を使用する場合


>→ 1)とほぼ等価ですので、拡張子は関係ありません。
UNIX系OSにおいては一行目に書くパスとファイルのパーミッションの実行権ですね。
    • good
    • 0

1)「python スクリプト名」等として実行した場合


この場合は拡張子は関係ありません。.txt .pl 等でも構いません(混乱の元ですが)
Windowsでも、コマンドプロンプト等から上記のように入力したり、ショートカットを上記のように設定した場合には同様です。

2) unix系OSや互換環境で #! (shebang)を使用する場合
→ 1)とほぼ等価ですので、拡張子は関係ありません。

3) モジュールとして別のスクリプトから「import ~」として使う場合
→ 「~.py」 である必要があります。

4) Windowsでスクリプトをダブルクリックで実行する場合
→ このような場合に何を実行するか、を決める仕組みは、現状では「拡張子による関連付け」です。
#! のような、「実行するインタプリタを、そのスクリプトファイル自体で設定する」ような仕組みはありません。
よって、拡張子が必要です。


その本では、1),2)について述べていると思われます。
    • good
    • 0

>実際として**.pyは付けないとwindowsではインタプリタの実行は行われません。



Windows 7で試してみましたが、普通に実行できました。単に、ダブルクリックで実行できないというだけではないですか。これは単純にWindowsでの拡張子の関連づけの問題であってPythonとは別に何の関係もない話です。自分で登録すれば他の拡張子でも普通に起動できます。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qpython スクリプトファイルの実行

プログラム初心者です。
pythonを始めて間もないです。
環境はwindows XPでpython2.6を使っています.
IDLEエディタでprint "hello" と記入し、test.pyを作成しました。
保存先はC:\Python26になります。環境変数もコマンドラインでpythonと入力すれば起動してくれるように設定しています。
そこで、コマンドラインにpython test.pyと入力すると、File"<stdin>",line 1
python test.py
SyntaxError: invalid syntax
と返ってきます。
色々調べてみたのですが解決できず質問させていただきました。
どうかよろしくお願いします

Aベストアンサー

ああ、やっぱり。
python
とだけやると、対話モードで起動してしまいます。
スクリプトを実行したいのなら、
コマンドプロンプトのコマンドラインで、
python test.py
としてみてください。


人気Q&Aランキング

おすすめ情報