Вытащить файл из Google Диска - urllib - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь заставить этот код работать, и я не уверен, что происходит. Мой советник написал часть этого, и мне поручено добавить несколько других операторов 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.

...