Неспособность сделать массив изображений в Python - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь создать массив файлов .jpg, но компилятор не создает массив

Более конкретно, моя проблема заключается в том, что в папке publi c, путь которой определен как объект путь, не доступен для моего Python компилятора [Spyder]. Тем не менее, папка и соответствующие ей файлы все опубликованы c и открыты для всех. В чем может быть причина того, что мой компьютер не может получить доступ к изображениям?

Код 1 - это простая функция для поиска и доступа к нужному пути к файлу, а результаты Kernal показывают, что не получается.

Код 2 - это синтаксис изолированной ошибки в программе, в которой я применяю метод open (). Результаты Kernal отражают ошибку компилятора.

Код 1:

import os

path = r'C:/Users/BeckerLab/Pictures/Final_Sample_Set/Right2'

try:
    os.path.exists(path)
    if (True):
        R = open(path)
        R.close()
except FileNotFoundError:
    print("file does not exist")

Kernal для кода 1:

!runfile('C:/Users/BeckerLab/untitled6.py', wdir='C:/Users/BeckerLab')
Traceback (most recent call last):

  File "C:\Users\BeckerLab\untitled6.py", line 8, in <module>
    R = open(path)

PermissionError: [Errno 13] Permission denied: 'C:/Users/BeckerLab/Pictures/Final_Sample_Set/Right2'

Код 2:

import os

rightSamples = [open(file, 'r+') for file in os.listdir(r'C:/Users/Public/Right2')]

Результаты Kernel для кода 2:

!runfile('C:/Users/BeckerLab/almost.py', wdir='C:/Users/BeckerLab')
2020-04-05 12:59:28
Traceback (most recent call last):

  File "C:\Users\BeckerLab\almost.py", line 46, in <module>
    rightSamples = [open(file, 'r+') for file in os.listdir(r'C:/Users/Public/Right2')]

  File "C:\Users\BeckerLab\almost.py", line 46, in <listcomp>
    rightSamples = [open(file, 'r+') for file in os.listdir(r'C:/Users/Public/Right2')]

FileNotFoundError: [Errno 2] No such file or directory: 'R1.JPG'

1 Ответ

0 голосов
/ 05 апреля 2020

Обратите внимание, что ваше состояние:

os.path.exists(path)
if (True):

, которое всегда будет верным. Возможно, попробуйте:

if (os.path.exists(path)):

Попробуйте переместить файлы в другой каталог, например 'D:/../BeckerLab/untitled6.py'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...