Система не может найти указанный путь:

#python #jupyter-notebook

#python #jupyter-ноутбук

Вопрос:

Ниже приведен мой код для чтения файла dicom, но у меня возникли проблемы при чтении файла, любая помощь будет оценена

 <import cv2
import pydicom as dicom            # for reading dicom files
import os                          # for doing directory operations 
import pandas as pd                # for some simple data 
import matplotlib.pyplot as plt
import matplotlib.image as mpimage
import numpy as np

data_dir = r'D:projectNew folderLungNoduleDetectionClassification-master'
patients = os.listdir(data_dir)
labels_df = pd.read_csv(r'D:projectNew folderLungNoduleDetectionClassification-masterstage1_labels.csv', index_col=0)

labels_df.head()

import matplotlib.pyplot as plt

for patient in patients[:1]:
    path = data_dir   patient
    slices = [dicom.read_file(path   '/'   s) for s in os.listdir(path)]
    slices.sort(key = lambda x: int(x.ImagePositionPatient[2]))

    plt.imshow(slices[0].pixel_array)
    plt.show()>

Error :-

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-39-0cdfa4febaf1> in <module>
      3 for patient in patients[:1]:
      4     path = data_dir   patient
----> 5     slices = [dicom.read_file(path   '/'   s) for s in os.listdir(path)]
      6     slices.sort(key = lambda x: int(x.ImagePositionPatient[2]))
      7 

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'D:\project\New folder\LungNoduleDetectionClassification-master1-001.dcm'
 

примечание 1-001.dcm — это файл dicom

Ответ №1:

Ваша комбинация имени каталога и имени файла проблематична:

 data_dir = r'D:projectNew folderLungNoduleDetectionClassification-master'
patients = os.listdir(data_dir)
...
for patient in patients[:1]:
    path = data_dir   patient
 

Это будет означать path , что содержит имя каталога и имя файла без разделителя каталогов для их разделения.

Как правило, вы хотите сделать что-то подобное, чтобы убедиться, что они правильно объединены:

     path = os.path.join(data_dir, patient)