Как прочитать все текстовые файлы в репозитории Github? - PullRequest
0 голосов
/ 17 мая 2019

Я хочу прочитать все текстовые файлы в репозитории Github, но адреса текстовых файлов отличаются от необработанных текстовых адресов. Трамп Речи

Например, посмотрите на эту ссылку: speech_00.txt в первом статусе

Теперь у speech_00.txt другой адрес в режиме raw speech_00.txt в сыром состоянии

Как я могу справиться с этим без редактирования адресов (например, добавив githubusercontent или удаление blob)

Кроме того, я прочитал образец текстового файла, используя этот код:

import urllib
response = urllib.request.urlopen("https://raw.githubusercontent.com/PedramNavid/trump_speeches/master/data/speech_72.txt")
Text = response.read()
Text=Text.decode("utf-8") 

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Сорт хакерский способ реализовать это (в зависимости от того, как этот каталог, в частности, структурированный) должен был бы сделать цикл итеративно добавлять к строке, которую вы вводите как ваш путь к файлу:

import urllib

# Get master directory
speech_dir ="https://raw.githubusercontent.com/PedramNavid/trump_speeches/master/data/"
# Iterate through all speeches in directory, from 00 to 73
cur_speech = 00
end_speech = 73
while (cur_speech <= end_speech):
    # Change the speech you want to get
    speech_nm = ('speech_' + str(cur_speech) +'.txt')
    response = urllib.request.urlopen(speech_nm)
    # Do what you need to with the speech
    Text = response.read()
    Text = Text.decode("utf-8")
    # Update to the new speech
    cur_speech +=1

Таким образом, вы будете проходить каждую речь в этом конкретном каталоге.

0 голосов
/ 18 мая 2019

Я использую ваш код (@ N.Yasarturk) и отредактировал его, чтобы получить все файлы. Но я спросил: есть ли другие способы (без редактирования адресов) для чтения этих файлов из репозитория Github?

import urllib
# Get master directory
speech_dir ="https://raw.githubusercontent.com/PedramNavid/trump_speeches/master/data/"
# Iterate through all speeches in directory, from 00 to 73
cur_speech = 0
temp=str(cur_speech)
end_speech = 73
while (cur_speech <= end_speech):
    # Change the speech you want to get
    if(cur_speech<10):
        temp="0"+str(cur_speech)
    else:
        temp=str(cur_speech)
    speech_nm = (speech_dir+'speech_' + temp +'.txt')
    print(speech_nm)
    response = urllib.request.urlopen(speech_nm)
    # Do what you need to with the speech
    Text = response.read()
    Text = Text.decode("utf-8")
    print(Text)
    # Update to the new speech
    cur_speech +=1    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...