как открыть текстовый файл в Google Collab - PullRequest
0 голосов
/ 30 апреля 2018

Я недавно использую ноутбук google collab juypter. После загрузки текстового файла не могу открыть файл с помощью функции открытия в python 3.

from google.colab import files
import io

uploaded = files.upload()

for fn in uploaded.keys():
  print('User uploaded file "{name}" with length {length} bytes'.format(
      name=fn, length=len(uploaded[fn])))
data_path = io.StringIO(uploaded['fra.txt'].decode('utf-8'))
with open(data_path, 'rb') as f:
    lines = f.read().split('\n')

но выдает эту ошибку: Ошибка типа: ожидаемый объект str, bytes или os.PathLike, а не _io.StringIO

как открыть текстовый файл в блокноте Google Colb Juypter?

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Изменить на

data_path = 'fra.txt'

Должно работать.

0 голосов
/ 30 апреля 2018

_io.StringIO ссылается на объект StringIO (поток файлов в памяти). «Для строк StringIO можно использовать как файл, открытый в текстовом режиме».

Проблема в том, что файл уже открыт, и он доступен вам как буфер StringIO. Я думаю, что вы хотите сделать readlines () для объекта StringIO (data_path).

Вы также можете вызвать getvalue () для объекта и получить str всего буфера.

https://docs.python.org/3/library/io.html#io.StringIO

Смотрите мой пример здесь; который я начал с вашего кода ...

https://colab.research.google.com/drive/1Vbh13FVm02HMXeHXx-Zko1pFpqyp7bwI

...