print "Enter the name of the file",
file= open(raw_input(":"),'w').write(raw_input("Enter the content:"))
print file.read()
作为回应,我得到AttributeError: 'NoneType' object has no attribute 'read'
。请任何人都可以帮忙。
答案 0 :(得分:1)
write()方法不返回任何内容,因此文件值为None。
你应该将open()函数的结果赋给文件变量,然后再调用write方法。
如果您正在使用:
open(path_to_file, 'w')
您无法阅读此文件的内容。
当你打电话
file = open(some options)
方法 你应该打电话
file.close()
文件处理结束后。
但是在python中有关键字(例如文件类)在代码块执行结束后自动调用close()方法,即使发生了异常。 所以你的方法可以像这样实现:
def write_to_file_and_print_content():
print("Enter the name of the file:")
name_of_file = raw_input("")
# Writing to file
with open(name_of_file, 'w') as file_to_write:
content_of_file = raw_input("Enter the content:\n")
file_to_write.write(content_of_file)
# after that file_to_write.close() is called
with open(name_of_file, 'r') as file_to_read:
print(file_to_read.read())
# after that file_to_read.close() is called