2015-02-26 2 views
-6

Этот ответ был решен, делая print (file.read())Проблемы с чтением и записью текстового файла в Python

У меня есть проект под названием «PyDOS». Недавно я обнаружил, что вы можете читать и записывать файлы в Python, я реализовал это, и бит записи работал. Но при попытке прочитать часть прочитает синтаксис. Код, который портя чтения части является:

print file.read 

Это код с первой ошибкой:

def textviewer(): 
    print ("Text Viewer.") 
    file_name = input("Enter a text file to view: ") 
    file = open(file_name, "r") 
    print file.read #This returns 'Syntax Error' when pressing F5 
    input("Press enter to close") 

def edit(): #However, the writing function works just fine. 
     os.system('cls' if os.name == 'nt' else 'clear') 
     print ("EDIT") 
     print ("-------------") 
     print ("Note: Naming this current document the same as a different document will replace the other document with this one.") 
     filename = input("Plese enter a file name.") 
     file = open(filename, "w") 
     print ("Now, Write 5 lines.") 
     line1 = input() 
     line2 = input() 
     line3 = input() 
     file.write(line1) 
     file.write("\n") 
     file.write(line2) 
     file.write("\n") 
     file.write(line3) 
     file.close() 
     print ("File saved!") 
     time.sleep(3) 

Это возвращает ошибку синтаксиса, я попытался file.read(), но вместо этого показало:

<built-in method read of _io.TextIOWrapper object at 0x10ada08> 
+1

'print' - это не инструкция, а функция, а' file.read' - это метод, который необходимо * вызывать *. –

ответ

3
<built-in method read of _io.TextIOWrapper object at 0x10ada08> 

Это строковое представление функции. То, что вы хотите, это не сама функция, а вызов функции.

Другими словами, вы хотите file.read() вместо file.read.

Кроме того, в Python 3.x, print есть функция, а не ключевое слово, поэтому вы хотите print(file.read()), а не print file.read().

Кстати, file is the name of a built-in function (хотя и устаревший), поэтому вы должны использовать другое имя переменной.

+0

сделал file.read() возвратил ошибку синтаксиса – VirtualHat

+0

Какая синтаксическая ошибка? –

+0

Я сделал file.read(), но при нажатии F5 он говорит об ошибке синтаксиса и подчеркивает «файл» – VirtualHat

Смежные вопросы