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

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

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

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

解決済

数値文字列から数値リスト作成でエラー

sigefuji
sigefuji

総合スコア83

Python 3.x

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

2回答

0リアクション

0クリップ

142閲覧

投稿2022/08/19 12:05

前提

下記のコードは参考書籍のコードにread_para関数を追加したものの一部です。
これらは同一ファイル内にあります。
read_para関数はinit_mnist関数内で呼びます。
すると#errorとある個所で下記のメーッセージがでます。
この行は空白で区切られた数値をlznctにリストでセットすることです。
エラーの内容は、line.split(' ')は文字列であるべしで、数値やリストではないこと、と解釈しましたが、他の例ではうまく処理されます。
どこまでコードを開示すればよいかわかりかねますが、とりあえずの範囲を開示しました。
何が原因かわかるでしょうか。ご教示頂ければ幸いです。
python 3.8 環境はspyder
参考書籍名 ゼロから作るDeeplerning 7章mnist.pyより改変

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

TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

該当のソースコード

python

def read_para(): fn = dataset_dir + "/" + "para.txt" f=open(fn, "r") line = f.readline() ------- line = f.readline() file_size = int(line) print("file_size",file_size) # file_size 129600000 line = f.readline() print(line)    # 41793 25871 10966 24832 40538 lznct = int(line.split(' ')) # error発生 line = f.readline() tznct = int(line.split(' ')) print("lznct",lznct)     print("tznct",tznct) def init_mnist(): print("init_mnist ") read_para() download_mnist() dataset = _convert_numpy() print("Creating pickle file ...") with open(save_file, 'wb') as f: pickle.dump(dataset, f, -1) print("Done!")

試したこと

再現性が複雑なので詳細には記述しずらいのですが、関係なさそうに思われる個所の変更で違う現象もあります。それで、一番簡明と思われるところをまず質問しました。C言語などと違い、変数や関数の関係がインタプリタのためいまいち
理解が進まない所で苦慮しています。

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

ここにより詳細な情報を記載してください。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/08/19 12:27

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

meg_

2022/08/19 12:23

> 参考書籍のコードにread_para関数を追加したものの一部です。 「read_para関数」は質問者さんのオリジナルの関数ですか? どのような仕様なのか簡単に説明いただけないでしょうか? また何かを参考に作成されましたか?
meg_

2022/08/19 14:43 編集

エラーは「int()」でしたね。間違ったコメントでしたので削除いたします。失礼しました。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

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