• 三、文件与异常 ----- 处理错误


    • 打开文件的常用代码
    import os
    os.getcwd()        #获取当前工作目录
    os.chdir('../HeadFirstPython/chapter3')    #切换到指定文件夹
    
    
    data = open('sketch.txt')
    for each_line in data:
        print(each_line,end=' ')
    data.close()
    • Python字符串的split()与find()函数
    data = open('sketch.txt')
    
    for each_line in data:
        if not each_line.find(':') == -1:              #如果each_line中有“:”则返回该子串在原字符串中的索引,如果无法找到则返回-1
            (role,line_spoken) = each_line.split(':',1)     #此为多重赋值,以“:”作字符串分割,1的含义是以将字符串分割为两部分
            print(role,end=' ')
            print(' said: ',end=' ')
            print(line_spoken,end=' ')
    
    data.close()
    • Try/except机制
    try:
        需要保护的代码,可能会导致一个运行时错误
    except:
        错误恢复代码
    try:
        data = open('sketch.txt')
    
        for each_line in data:
            try:             
                (role,line_spoken) = each_line.split(':',1)     
                print(role,end=' ')
                print(' said: ',end=' ')
                print(line_spoken,end=' ')
            except:
                pass                   #如果split调用出现问题,则使用pass继续执行代码(可以把pass认为是空语句或者null语句)                                             
        data.close()
        
    except:
        print('The data file is missing!')    #一旦文件未找到,则执行这句

    使用异常机制可以让你关注代码真正需要做的工作……

     

  • 相关阅读:
    Redis源码分析(二十一)--- anet网络通信的封装
    leetcode 总结part1
    leetcode String to Integer (atoi)
    leetcode 165. Compare Version Numbers
    leetcode 189. Rotate Array
    leetcode 168. Excel Sheet Column Title
    leetcode 155. Min Stack
    leetcode 228. Summary Ranges
    leetcode 204. Count Primes
    leetcode 6. ZigZag Conversion
  • 原文地址:https://www.cnblogs.com/bing0818/p/4898116.html
Copyright © 2020-2023  润新知