質問編集履歴

1 誤字修正

Reizo

Reizo score 5

2018/03/14 16:18  投稿

Python AttributeError: 'int' object has no attribute 'sample'と表示される
ファイルを特定のディレクトリからランダムで取り出し,別のディレクトリにコピーするコードを書いたつもりだったのですが,
```
 1 import glob, os, shutil, re
 2 #import subprocess
 3 import random
 4
 5 if __name__ == '__main__':
 6
 7    #画像とラベルのパス
 8    image_path = "/mnt/dataset/Ganken_datasets/combat/images/"
 9    label_path = "/mnt/dataset/Ganken_datasets/combat/labels/"
 8    image_path = "/mnt/dataset/Datasets/combat/images/"
 9    label_path = "/mnt/dataset/Datasets/combat/labels/"
10
11    #画像トラベルのコピー先パス
12    image_tmp = "/mnt/dataset/Ganken_datasets/03-14-test/images/"
13    label_tmp = "/mnt/dataset/Ganken_datasets/03-14-test/labels/"
12    image_tmp = "/mnt/dataset/Datasets/03-14-test/images/"
13    label_tmp = "/mnt/dataset/Datasets/03-14-test/labels/"
14
15    #取り出す枚数
16    random = 500
17
18    image_data = []
19    #ディレクトリ中からランダムにsheets枚取り出し
20    for path_file in glob.glob(os.path.join(image_path, "*.jpg")):
21        #画像fileの名前のみ取り出し
22        image, ext = os.path.splitext(os.path.basename(path_file))
23        image_data.append(str(image + ext))
24
25    #print(image_data)
26    images = random.sample(image_data, 500)
27
28    for image in images:
29        image = str(image)
30        label = re.sub(re.compile(".jpg"), ".txt", image)
31
32        shutil.copy(image_path + image, image_tmp)
33        shutil.copy(label_path + label, label_tmp)
```
実行した際,以下のエラーが表示されます.
```
Traceback (most recent call last):
 File "extract.py", line 26, in <module>
   images = random.sample(image_data, 500)
AttributeError: 'int' object has no attribute 'sample'
```
これについて何か助言を頂けると幸いです.よろしくお願いします.
環境
|||
|:--:|:--:|
|OS|Ubuntu16.04LTS|
|Pyhton|3.6.3|
|GCC|7.2.0|
  • Python 3.x

    10334 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る