2015-02-21 2 views
0

Извините за заголовок не уверен, как это сказать.Чтение строк и вывод их на консоль Разное (Python)

Что я пытаюсь сделать, это сделать код, который можно писать и читать только с помощью моей программы, которую я уже сделал, поэтому я могу написать код в файл, но я не уверен, как заставить его читать без меняя текстовый файл, я хочу, чтобы мой код печатался на консоль или бездействовал без изменения текстового файла вообще, я не прошу вас выписать код для меня, а просто, как это сделать?

print ("Welcome Who am i speaking too?") 

User = input("Name: ") 

print ("Welcome " +User) 

Running = True 

def FileReader(): 
    FileName = input("Please Enter File Name: ") 
    file = open (FileName + ".txt" , "r") 
    #How Do i go about this? 
    print (file.read()) 
    file.close() 


def FileOutput(): 
    NameOfFile = input("Enter File Name: ") 
    File = open(NameOfFile + ".txt", "wt") 
    Content = input("Type Your Message: ") 
    Content = Content.replace(" ", "SP") 
    Content = Content.replace("a", "ASDAFAS") 
    Content = Content.replace("b", "ASDAKSGDHLHASJD") 
    Content = Content.replace("c", "ASHJDGASGDKJASG") 
    Content = Content.replace("d", "JHASGDHASLASHGD") 
    Content = Content.replace("e", "AKJ:SBDKJASBDASJDBSDBKL") 
    Content = Content.replace("f", "KBASLLASIBDJBASLDJ") 
    Content = Content.replace("g", "ASJHDVBLKAJSDBLASJDB") 
    Content = Content.replace("h", "JHAKSDHKDKSAJDHASJKSHDA") 
    Content = Content.replace("i", "KJABSDJKABSDKJBASKJDBASKJDB") 
    Content = Content.replace("j", ":AJSDJASDJKAHSDJHSD") 
    Content = Content.replace("k", "OAHISDIUHASIDASDHD") 
    Content = Content.replace("l", "UIAHSDUIHSADIUSHADUIYSA") 
    Content = Content.replace("m", "ASHDUASHDUHASUDHUIASDHIUHA") 
    Content = Content.replace("n", "IUAHSDIUHASIDUIAUSHDHUIS") 
    Content = Content.replace("o", "AHJSVDJHSVABDJHVSD") 
    Content = Content.replace("p", "IASDIJASIDJAISDJOIAJSD") 
    Content = Content.replace("q", "LIUAGSDIUGWVDASID") 
    Content = Content.replace("r", "JAHSDJWIUCBASB") 
    Content = Content.replace("s", "OIAHSDBIWUBDUIB") 
    Content = Content.replace("t", "LAJHSBDHBWQIEUBQWIUW") 
    Content = Content.replace("u", "INQWOIDNWQIOND") 
    Content = Content.replace("v", "OIHQWEIUCBWOIQBEUWQBEWOQIEB") 
    Content = Content.replace("W", "OASIHDOIASDOSAHDAISDH") 
    Content = Content.replace("x", "OIAJDIWQDBUIOEHWQE") 
    Content = Content.replace("y", "POASJDPOQWEOJWQOEJWQEOP") 
    Content = Content.replace("z", "ASJDBSOBDOWBQDWIOD") 
    File.write(Content) 


while Running: 
    What = input("What Would you like to do: ") 
    if What == "read": 
     FileReader() 

    if What == "write": 
     FileOutput() 

    if What == "close": 
     Running = False 
+0

Я думаю, что это должно быть 'file' вместо' Read'. То же самое относится к методу 'close'. – Himal

+0

drop '' t "' из режима файла. Режим '' w ''сам по себе является текстовым режимом. Используйте 'with open (имя файла, 'w') в качестве файла: file.write (content)'. Используйте метод 'str.translate':' 'abba'.translate ({ord ('a'): '1', ord ('b'): '22'}) -> '122221'' – jfs

+0

Кажется, код уже распечатывает файл на консоль (с добавлением новой строки в конце). Неясно, в чем проблема. Чего вы ожидаете? Что происходит вместо этого? – jfs

ответ

0

Himal является правильным.

file.read() 
file.close() 
Смежные вопросы