wo_calecaca
2015-04-04 13:35
采纳率: 100%
浏览 1.9k
已采纳

python简单读写文件问题代码纠错

def write(self,fname):
import os
ls = os.linesep
while True:
if os.path.exists(fname):
print "ERROR:'%s'already exists"%fname
break
else: break
all=[]
print"\nEnter lines('.'by itself to quit).\n"
while True:
entry=raw_input('>')
if entry=='.':
break

else:
all.append(entry)
fobj=open(fname,'w')
fobj.writelines(['%s%s'%(x,ls)for x in all])
fobj.close()
print 'DONE!'

def read(self,fname):
print
try:
fobj=open(fname,'r')
except IOError,e:
print"***file open error:",e
else:
for eachline in fobj:
print eachline
fobj.close()

import os
way=raw_input("choose you want to do Write or Read:")
if way==Write:
write()
elif way==Read:
read()
else:print 'ERROR'

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • Landpack 2015-04-06 12:06
    已采纳

    example:

     #!/usr/bin/python
    
     def hello():
    
         print 'Hello,World'
    
    if __name__ == '__main__':
        hello():
    
    

    But if you do it like this below ..

     #!/usr/bin/python
    
     def hello()
    
     print 'Hello,World'
    
     if __name__ == '__main__':
    
     hello()
    
    

    You will see those error :

    图片说明

    Good Luck !!

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • oyljerry 2015-04-04 14:18

    你帖子中的代码格式乱了。需要编辑一下。
    错误提示也是说你代码对齐不对。

    评论
    解决 无用
    打赏 举报
  • Lemon2050 2015-04-05 05:42

    Python代码很大程度上是依赖于代码缩进的,你现在的代码一点都看不出缩进,你必须重新编辑下你的代码,一定要体现出缩进。
    此外,
    1. “import os” 这样的代码只需要在Py文件的开头引入就够了。
    2. 如果你要问别人问题的话,最好将错误信息也贴出来。

    评论
    解决 无用
    打赏 举报
  • devmiao 2015-04-06 12:03

    就是说你的缩进有问题,类似C语言中的花括号不匹配。

    评论
    解决 无用
    打赏 举报
  • 惟愿莲心不染尘 2015-04-08 02:24

    http://www.crifan.com/python_syntax_error_indentationerror/

    对于此错误,最常见的原因是,的确没有对齐,但是也可能是空格和Tab混用了
    最好检查一下代码缩进

    评论
    解决 无用
    打赏 举报
  • devmiao 2015-04-04 13:37

    提示什么错误信息呢?是否是没有权限,检查下。

    评论
    解决 无用 1
    打赏 举报

相关推荐 更多相似问题