Доступ к ресурсу в записной книжке Watson Studio (файл .log) с помощью 'with open' и 'project-lib' - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь развернуть рабочий ноутбук python 3.6 в Watson Studio (облако). Однако я изо всех сил пытаюсь получить доступ к файлам / ресурсам. После загрузки файла .log в свои активы я хочу открыть и обработать его, используя

with open(project.get_file('messages.log'), 'r') as file:

, сообщение об ошибке возвращает

TypeError: expected str, bytes, or os.PathLike object, not _io.BytesIO

Помимо сообщения мне, как открыть / прочитать log-файл, я также был бы признателен за краткое объяснение, почему project.get_file возвращает объект BytesIo.

1 Ответ

0 голосов
/ 04 августа 2020
Функция

project-lib get_file считывает файл из хранилища вашего проекта Watson Studio. Вы можете прочитать свой файл так:

buffer = project.get_file('messages.log')
log_file = buffer.getvalue()

Я не уверен на сто процентов, почему было решено вернуть объект BytesIo, но это довольно удобно, например, если вы хотите прочитать свои данные в pandas dataframe:

my_file = project.get_file('myFile.csv')
my_file.seek(0)
import pandas as pd
pd.read_csv(my_file, nrows=10)

Вы можете найти документацию project-lib здесь: project-lib для Python

...