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

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

新規登録して質問してみよう
ただいま回答率
85.35%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

1回答

5791閲覧

fileを重ね合わせて取り出したいTypeError: listdir: path should be string, bytes, os.PathLike, integer or None, n

Deep_passion

総合スコア47

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2021/12/27 03:55

編集2021/12/27 04:41

前提・実現したいこと

1,fold_0~4を取り出して、重ね合わして、ロードして、コードを実行できるようにしたいです。

イメージ説明

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

TypeError Traceback (most recent call last) /tmp/ipykernel_35/23374429.py in <module> 27 roots.append(root) 28 root=roots.copy() ---> 29 sample_paths = os.listdir(root) 30 # sample_paths = [x for x in sample_paths if 'img' in x] 31 TypeError: listdir: path should be string, bytes, os.PathLike, integer or None, not list

該当のソースコード

roots = [] i = 0 for i in range(5): root = '../input/sartorius-train-tif/fold_{i}/train/'.format(i=i) roots.append(root) root=roots.copy() sample_paths = os.listdir(root) #ここからが、勝負です。 random.shuffle(sample_paths) for k in range(5): img_path = sample_paths[k] print(img_path) plot_example(root+img_path)

試したこと

error文を検索したのですが、どれも内容とは、違う内容でした。

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

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

Python3 (3.9)
macbookpro 16

1,

イメージ説明

2,
イメージ説明

このように違いが見当たらないのに、前者は実行できて、後者は実行ができかねます。

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

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

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

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

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

1T2R3M4

2021/12/27 04:17

14万件以上すべて確認したのですか。
guest

回答1

0

python

1>>> roots = [] 2>>> i = 0 3>>> for i in range(5): 4... root = '../input/sartorius-train-tif/fold_{i}/train/'.format(i=i) 5... roots.append(root) 6... root=roots.copy() 7... 8>>> print(root) 9['../input/sartorius-train-tif/fold_0/train/', '../input/sartorius-train-tif/fold_1/train/', '../input/sartorius-train-tif/fold_2/train/', '../input/sartorius-train-tif/fold_3/train/', '../input/sartorius-train-tif/fold_4/train/']

なので、
TypeError: listdir: path should be string, bytes, os.PathLike, integer or None, not list
というエラーになっています。

Google翻訳

TypeError:listdir:パスはstring、bytes、os.PathLike、integerまたはNoneである必要があり、listではありません

投稿2021/12/27 04:14

編集2021/12/27 04:15
ppaul

総合スコア24670

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

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

Deep_passion

2021/12/27 04:27

つまり、どういうことでしょうか?
Deep_passion

2021/12/27 04:29

sample_paths = os.listdir(sorted(root)) を使用したのですが、うまくいきませんでした。
Deep_passion

2021/12/27 04:35

root = glob('../input/sartorius-train-tif/fold_*/train/*') sample_paths=root.copy() こちらを実行しましたら、このようになりました。 41 TypeError: can only concatenate list (not "str") to list
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問