Piszę program do odczytania linii tekstu z 5 plików i skompilować tekst z tych 5 plików na odpowiednich list.

Jednak mam wiele problemów z uzyskaniem programu, aby przeczytać tekst do listy, oto mój kod:

from random import random

from dice import choose

b = open ('E:\Videos, TV etc\Python\ca2\beginning.txt', 'r'). readlines ()
stripped_b = [item.strip() for item in b]

a = open ('E:\Videos, TV etc\Python\ca2\adjective.txt', 'r'). readlines ()
stripped_a = [item.strip() for item in a]

i = open ('E:\Videos, TV etc\Python\ca2\inflate.txt', 'r'). readlines ()
stripped_i = [item.strip() for item in i]

n = open ('E:\Videos, TV etc\Python\ca2\noun.txt', 'r'). readlines ()
stripped_n = [item.strip() for item in n]

phrase = []

turn = 0

def business_phrase(x):

    x = raw_input("\n\nInsert a number of business phrases to generate: ")
    while turn <= x:
        turn += 1
        for item in stripped_b:
            random_word = choose(item)
            phrase.append(random_word)
        for item in stripped_a:
            random_word = choose(item)
            phrase.append(random_word)
        for item in stripped_i:
            random_word = choose(item)
            phrase.append(random_word)
        for item in stripped_n:
            random_word = choose(item)
            phrase.append(random_word)
    print random_list

Business_phrase (x)

W przypadku gdy początek, przymiotnik, napompowanie i rzeczownik są plikami tekstowymi, a kością jest plik Python zawierający funkcję do wyboru.

Prowadzę ten program, aby spróbować wygenerować frazę i otrzymuję następujący komunikat o błędzie:

IOError: [Errno 22] invalid mode ('r') or filename 'E:\\Videos, Tv etc\\Python\\ca2\\x08eginning.txt'

Nie mam pojęcia, dlaczego nie odczytuje plików tekstowych, ponieważ znajdują się w tym samym katalogu, co stwierdzono (w rzeczywistości w tym samym katalogu, co program zawierający funkcję).

Czy ktoś ma jakieś pomysły, jestem całkowicie zakłopotany.

-1
George Burrows 16 listopad 2011, 19:49

3 odpowiedzi

Najlepsza odpowiedź

"" jest używany do ucieczki w strunach Python. Surowe łańcuchy jak larsmany sugerowane również działają!

3
Community 23 maj 2017, 12:21

Podczas obsługi PathNames Windows zawsze używaj literałów surowców:

r'E:\Videos, TV etc\Python\ca2\beginning.txt'

Ponieważ inaczej odwróciny mogą być interpretowane jako rozpoczęcie sekwencji ucieczki.

Oglądaj także z odwróconymi ukośnikami na końcu sznurka: r'C:\' nie jest tym, co myślisz.

8
Fred Foo 16 listopad 2011, 15:54

Nie, prawdopodobnie nie mieć nazwę pliku z ^ h. Ucieknij od tyłu.

'...\\...'
2
Ignacio Vazquez-Abrams 16 listopad 2011, 15:54