私の使っている本には:
”拡張子は必須ではありませんが”と、書いてあります。
しかし、実際として**.pyは付けないとwindowsではインタプリタの実行は行われません。
ここで、この問題点をPythonとWindowsの2つに分けて考えてみました。
Python自体には**.pyと言う拡張子をつける規則はないが、
Windowsとしては、**.pyの拡張子がないとPythonファイルとして認識しないので付ける。
以上で正しいでしょうか?
それとも、私が使っている本の”拡張子は必須ではありませんが”が間違っているのでしょうか?
宜しく、願います。
No.1ベストアンサー
- 回答日時:
私の環境(Windows XP Pro)では、拡張子を付けなくても問題なく実行できました。
Python自体には拡張子必須という規則はないようです。
ただし、モジュールをimportする場合は、必須のようです。
実行が行われないというのは、どういう実行方法で実行していますか?
あとOSは何ですか?
No.4
- 回答日時:
>2) unix系OSや互換環境で #! (shebang)を使用する場合
>→ 1)とほぼ等価ですので、拡張子は関係ありません。
UNIX系OSにおいては一行目に書くパスとファイルのパーミッションの実行権ですね。
No.3
- 回答日時:
1)「python スクリプト名」等として実行した場合
この場合は拡張子は関係ありません。.txt .pl 等でも構いません(混乱の元ですが)
Windowsでも、コマンドプロンプト等から上記のように入力したり、ショートカットを上記のように設定した場合には同様です。
2) unix系OSや互換環境で #! (shebang)を使用する場合
→ 1)とほぼ等価ですので、拡張子は関係ありません。
3) モジュールとして別のスクリプトから「import ~」として使う場合
→ 「~.py」 である必要があります。
4) Windowsでスクリプトをダブルクリックで実行する場合
→ このような場合に何を実行するか、を決める仕組みは、現状では「拡張子による関連付け」です。
#! のような、「実行するインタプリタを、そのスクリプトファイル自体で設定する」ような仕組みはありません。
よって、拡張子が必要です。
その本では、1),2)について述べていると思われます。
No.2
- 回答日時:
>実際として**.pyは付けないとwindowsではインタプリタの実行は行われません。
Windows 7で試してみましたが、普通に実行できました。単に、ダブルクリックで実行できないというだけではないですか。これは単純にWindowsでの拡張子の関連づけの問題であってPythonとは別に何の関係もない話です。自分で登録すれば他の拡張子でも普通に起動できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 VirtualBox からWindows XP を起動すると画面が真っ暗になってしまいました 4 2023/07/09 16:19
- その他(プログラミング・Web制作) Pythonのバージョンに関する質問です。 2 2022/04/10 21:03
- その他(ソフトウェア) コマンドプロンプトについて教えてください。 状況: 画像編集ソフト上でネットから保存した画像を使うの 3 2022/05/26 11:14
- Java マイクラでPythonのプログラミングができません 3 2023/05/28 07:15
- Excel(エクセル) マクロを作成し、拡張子 .xlsm で保存しているのですが、データのみをBack Upするのは? 4 2023/06/18 09:54
- Excel(エクセル) ドキュメントに保存していたエクセルのファイルが開きません。 2 2022/12/02 09:38
- 防犯カメラ・監視カメラ・小型カメラ MP4の再生 3 2022/05/03 18:10
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- その他(ソフトウェア) .image ファイルについて 4 2022/11/05 15:40
- その他(プログラミング・Web制作) Excel vbaでフォルダー内のpptをpptxにdocをdocxに変換 6 2022/09/01 21:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
バッチファイルの内容を表示さ...
-
エクセル フォルダの画像を画...
-
ネットワーク名が見つかりません
-
ホームページのリンクからプロ...
-
「読み取りと実行」と「読み取...
-
複数のbatファイルを自動実行し...
-
VBS実行時にコマンドプロンプト...
-
VB.NETでのDOSコマンドを実行に...
-
VBscriptが起動しない?
-
PDFファイルを開き、印刷し、閉...
-
WSH.Run の処理内容をテキスト...
-
メッセージを他のPCに出したい
-
Excel VBA ステップインが途中...
-
ファイルサイズ判定バッチ
-
[VBScript]ファイルの削除
-
[teraterm] waitコマンドで停止...
-
コマンドプロンプトをウインド...
-
シェルスクリプトの書き方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
「読み取りと実行」と「読み取...
-
VBscriptが起動しない?
-
バッチファイルの内容を表示さ...
-
Excel VBA ステップインが途中...
-
[teraterm] waitコマンドで停止...
-
エクセル フォルダの画像を画...
-
ネットワーク名が見つかりません
-
VB.NETでのDOSコマンドを実行に...
-
Excel(エクセル) VBA プロシー...
-
複数のbatファイルを自動実行し...
-
Excelのセルの内容をコマンドプ...
-
PDFファイルを開き、印刷し、閉...
-
Access の VBA 実行中に他の操...
-
これってパソコンの最適化が完...
-
バッチファイルが不正終了して...
-
VBA 既に開いているBookに継続...
-
VScodeのエラー解決法 Pythonの...
-
【VB.NET】exeを実行すると「発...
おすすめ情報