2013-06-12 13 views
10

Stwierdziłem, że muszę użyć skryptu python, aby uzyskać dostęp do strony internetowej.Błąd podczas otwierania archiwum megawarc z Python

Co mam, to archiwum sieciowe "megawarc" z http://archive.org/details/archiveteam-fanfiction-warc-11. Potrzebuję un-megawarc tego, używając skryptu python znalezionego pod adresem https://github.com/alard/megawarc.

Próbuję uruchomić polecenie "przywróć" i mam trzy potrzebne pliki (FILE.warc.gz, FILE.tar i FILE.json.gz) z pierwszego linku.

Mam zainstalowane zarówno pytony 2.7, jak i 3.3.

-------------- aktualizacja --------------

ja prowadził zarówno tej metody ..

python megawarc restore FILE 

i ta metoda ..

Upewnij masz megawarc pliki i ordereddict.py w tym samym katalogu, z plikami, które chcesz przekonwertować. Zmień nazwę pliku do megawarc megawarc.py otworzyć konsolę Pythona w katalogu

Type the following code (line by line) : 

import sys 
sys.argv = ['megawarc','restore','FILE'] 
import megawarc 
megawarc.main() 

przy użyciu Python 2.7, i to, co mam ..

c:\Python27>python megawarc restore FILE 
Traceback (most recent call last): 
    File "megawarc", line 563, in <module> 
main() 
    File "megawarc", line 552, in main 
mwr.process() 
    File "megawarc", line 460, in process 
self.process_entry(entry, tar_out) 
    File "megawarc", line 478, in process_entry 
entry["target"]["offset"], entry["target"]["size"]) 
    File "megawarc", line 128, in copy_to_stream 
raise Exception("End of file: %d bytes expected, but %d bytes read." % (buf_size, l)) 
Exception: End of file: 4096 bytes expected, but 236 bytes read. 

Czy jest coś jeszcze jestem brakujący?

mam następujące pliki wszystko w c: \ python27

FILE.megawarc.json.gz 

FILE.megawarc.tar 

FILE.megawarc.warc.gz 

megawarc 

ordereddict.py 

Czy to jakiś rodzaj błędu zepsutego pliku? Czy jest coś, czego mi brakuje?

+1

Co próbowałeś, jaki błąd dostałeś? –

+13

Pssh, nikt nie ma złego nastawienia do programowania. Po prostu fakt, że próbujesz rozwiązać problem z programowaniem, oznacza, że ​​możesz być świetnym programistą. Chodzi o rozwiązywanie problemów. –

+0

Więc wykonałeś skrypt Pythona, który otrzymałeś? Czy uruchomiłeś powłokę poleceń, aby wyświetlić komunikaty o błędach? – duffymo

Odpowiedz

6

Na drugim linku, który podałeś, istnieją dwa ważne pliki:

megawarc 
ordereddict.py 

skrypt wykonywalny jest megawarc. Aby go uruchomić, trzeba go uruchomić w powłoce z

python megawarc restore FILE 

Ewentualnie, jeśli używasz systemu UNIX. Można zrobić

chmod +x megawarc 

Aby dać skrypt megawarc własność wykonywalny, a następnie uruchomić go z

./megawarc restore FILE 

Tutaj, FILE jest rzeczywista nazwa należy wpisać, jeśli 3 pliki masz są FILE.warc.gz, FILE.tar i FILE.json.gz. Musisz zmienić ten parametr przez wspólny prefiks na 3 pliki wejściowe, jeśli to konieczne.

EDIT:

Dobra, znalazłem alternatywę, która będzie działać, jeśli nie mają standardową powłokę, aby uruchomić skrypt w linii poleceń. Co trzeba zrobić, to:

  • Upewnij się, że pliki megawarc i ordereddict.py w tym samym katalogu z plikami, które chcesz przekonwertować.
  • Zmień nazwę pliku megawarc do megawarc.py
  • otworzyć konsolę Pythona w katalogu
  • wpisz następujący kod (linia po linii):

    import sys 
    sys.argv = ['megawarc','restore','FILE'] 
    import megawarc 
    megawarc.main() 
    

to powinno działać, mam po prostu wypróbowałem to. Mam nadzieję, że to pomoże.

+1

Z mylącym zastrzeżeniem, że FILENAME wydaje się być przedrostkiem nazwy pliku, a nie rzeczywistą nazwą pliku. – kampu

+0

>>> test przywracania megawarka Pythona Błąd składni: nieprawidłowa składnia >>> –

+0

Dobrze, wypróbowałem to (dziękuję!) I otrzymuję to. –

Powiązane problemy