Файл можно найти с помощью os.listdir (), но нельзя прочитать - PullRequest
0 голосов
/ 04 ноября 2019

Я делаю программу, которая объединяет несколько изображений в PDF, и она работала до сих пор. Когда я попробовал другой пример, программа сломалась.

Я заглянул в отладчик и обнаружил, что файл не может быть прочитан Python, поскольку он не может найти файл. Я попытался с помощью os.listdir () найти все файлы в каталоге, и изображение действительно появилось здесь. Когда я прочитал файл, используя обычную функцию чтения python, он не смог найти файл. Это особенно раздражает, так как модуль, который я использую для создания файлов PDF, img2pdf, использует эту функцию. Поэтому я не могу изменить это, чтобы заставить это работать. Он также использует open (имя файла, 'rb'), поэтому я тоже не могу его изменить.

#Running os.listdir() returns the list, including the following image
print(os.listdir())
#Gives a FileNotFoundError
with open('sbr_color_v03_052_01.jpg', 'rb') as f:
    print(f.read())

Вывод os.listdir ()

['sbr_color_v03_037.jpg',
 'sbr_color_v03_038.jpg',
 'sbr_color_v03_039.jpg',
 'sbr_color_v03_040.jpg',
 'sbr_color_v03_041.jpg',
 'sbr_color_v03_042.jpg',
 'sbr_color_v03_043.jpg',
 'sbr_color_v03_044.jpg',
 'sbr_color_v03_045.jpg',
 'sbr_color_v03_046.jpg',
 'sbr_color_v03_047.jpg',
 'sbr_color_v03_048.jpg',
 'sbr_color_v03_049.jpg',
 'sbr_color_v03_050.jpg',
 'sbr_color_v03_051.jpg',
 'sbr_color_v03_052_01.jpg',
 'sbr_color_v03_052_02.jpg']

Я скопировал и вставил второйto-last имя файла в функции open (), показанной выше, поэтому оно должно совпадать с именем файла. Вывод функции open ()

Traceback (most recent call last):
  File "C:\Users\Lars\AppData\Local\Programs\Python\Python37-32\lib\site-packages\IPython\core\interactiveshell.py", line 3267, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-20-06e5363219b6>", line 1, in <module>
    with open('sbr_color_v03_052_01.jpg', 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'sbr_color_v03_052_01.jpg'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...