Я пытаюсь заставить этот код работать, и я не уверен, что происходит. Мой советник написал часть этого, и мне поручено добавить несколько других операторов if для извлечения данных из разных папок. Вот код с измененным URL-адресом:
import os
import urllib.request
import fabio
import matplotlib.pyplot as plt
def get_test_pattern(sample=None):
if sample is None:
data_url = 'https://drive.google.com/a/....'
file_name = 'file_name1'
data_dir = os.path.join('tempdata', 'drive')
elif sample is 'water':
data_url = 'https://drive.google.com/a/....'
file_name = 'file_name_2'
data_dir = os.path.join('tempdata', 'drive')
else:
raise ValueError('Name is invalid')
file_path = os.path.join(data_dir, file_name)
if not os.path.isfile(file_path):
print('Fetching example data file')
os.makedirs(data_dir, exist_ok=True)
urllib.request.urlretrieve(data_url, file_path)
image = fabio.open(file_path)
data = image.data
plt.imshow(data)
plt.show()
return data
Графическое изображение только для того, чтобы увидеть, смогу ли я получить файл, в конце концов я его удалю. Пакет Fabio просто открывает указанный тип файла c, с которым мы работаем. Я оставил это для завершения.
Когда я запускаю его с аргументом sample=none
, он работает нормально, но когда я переключаюсь на sample='water'
, он выдает ошибку «Недопустимый поток данных». Я все еще довольно новичок с Python, поэтому моя проблема вполне может быть очень простой c.