質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

1382閲覧

pythonのexeの問題

alfa.crasher_

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2020/02/01 10:59

コマンドラインのソフト

pythonでコマンドライン型のソフトを作ってるのですが、コンパイルしてifの条件に引っかかるように入れたんですけど、以下のように表示されて終わります

発生している問題・エラーメッセージ

Traceback (most recent call last): File "command_line.py", line 14, in <module> File "<string>", line 1, in <module> NameError: name 'pc' is not defined [16928] Failed to execute script command_line

該当のソースコード

python

1# 参照するリストの初期化 2import socket 3# ホスト名を取得、表示 4host = socket.gethostname() 5print(host) 6loor=0 7# ipアドレスを取得、表示 8ip = socket.gethostbyname(host) 9print(ip) # 192.168.○○○.○○○ 10# 無限ループ 11while True: 12 comma=input("<" + ip + ">") 13 if comma == "count" : #カウント 14 print(loor) 15 loor = loor + 1 16 comma = "" 17 else : #ポート番号 18 if comma == "--port" : 19 print("50605") 20 comma = "" 21 else : 22 if comma == "--pc" : 23 host = socket.gethostname() 24 print("host:" + host) 25 # ipアドレスを取得、表示 26 ip = socket.gethostbyname(host) 27 print("global_ip:" + ip) # 192.168.○○○.○○○ 28 comma = "" 29 else : 30 if comma == "help()" : 31 print("count 数字を数える\n--port ポート番号\n--pc hostとgrobal_ipを取得\n") 32 comma = ""

試したこと

コンパイル5回したんですけどね...
visual studio codeだと普通にできるんですけどね

補足情報(FW/ツールのバージョンなど)

ver:python3.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shiracamus

2020/02/01 11:27 編集

スクリプトは問題なく実行できました。 このスクリプトが command_line.py なのですか? エラーメッセージは、14行目で未定義の変数pcを使っている、ですが、変数pcが見当たりません。 Pythonはコンパイル不要なスクリプト言語ですけど、何を使ってどのようにコンパイルしたのですか?
alfa.crasher_

2020/02/01 11:32

if comma == "--pc" : ですか? "" は定数ですよ python3.7でコンパイルしました
shiracamus

2020/02/01 11:43 編集

pythonはコンパイル型言語ではなくインタープリタ型スクリプト言語です。 PythonインタープリタがPythonスクリプトを読み込んで実行します。 スクリプトを exe実行ファイルに変換するツールはありますが、何かツールを使ってexeファイルにコンパイルしたのですか? テキストエディタで command_line.py を開いて、内容が正しいか再確認してみてください。
can110

2020/02/01 11:45

「ifの条件に引っかかるように入れたんですけど」とありますが、何をして何をいれたのでしょうか?
otn

2020/02/01 12:47

このコードでこのエラーは出ないので、どこかで取り違えのミスをしています。
alfa.crasher_

2020/02/03 11:23 編集

えーとですね can110:commaにinputしてるじゃないですかをれを13とかでifしてます otn:exe化すると何故かpython独自のエラー起きるんですよね ``` Traceback (most recent call last): File "command_line.py", line 14, in <module> File "<string>", line 1, in <module> NameError: name 'pc' is not defined [16928] Failed to execute script command_line ``` これですね
Zuishin

2020/02/03 11:24

ソースをダブルクォーテーションで囲ってるから文字列とその他のコードが逆になってるとかその手のことでしょうよ。自分のやった手続きをちゃんと書けば済む話。
otn

2020/02/03 11:28 編集

取り違えはまだ判明しなのでしょうか? やったことを確認するだけなので、難しいことではないと思うのですが。 記録がないのなら、やり直せばいいです。 プログラムとエラーメッセージが別物では、他人には調査のしようが無いです。
can110

2020/02/03 11:34

以下が不明確で理解できませんので説明ください。 「commaにinputしてるじゃないですか」にて具体的に、どんな値がcommaに入ったのですか? 「~13とかでifしてます」における「13」とは何ですか? また「ifしてます」とは具体的に何が何をしていることを指していますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問