Python实验之——文件与异常

1387-常同学

发表文章数:44

热门标签

,
首页 » Python » 正文

讲真以前学C语言文件和异常就不太会,写这几个题又折腾半天。。。

  1. 统计文件中单词出现的个数。
import re
with open('a.txt', 'r') as f:#注意a.txt和Python放在一个文件目录下
    dictResult = {}

    # Find the letters each line
    for line in f.readlines():
        listMatch = re.findall('[a-zA-Z]+', line.lower())  # remember to lower the letters

        # Count
        for eachLetter in listMatch:
            eachLetterCount = len(re.findall(eachLetter, line.lower()))
            dictResult[eachLetter] = dictResult.get(eachLetter, 0) + eachLetterCount

    # Sort the result
    result = sorted(dictResult.items(), key=lambda d: d[1], reverse=True)
    for each in result:
        print (each)

结果:
Python实验之——文件与异常
2. 将 pp.txt 中文件中所有的 love 变为 hate,yes 变为 no,然后生成 pp2.txt。

import sys
import re

f1 = open('pp.txt', 'r+')
f2 = open('pp2.txt', 'w+')

for s in f1.readlines():
    f2.write( s.replace('love','hate').replace('yes','no'))

f1.close()
f2.close()

结果:
Python实验之——文件与异常
Python实验之——文件与异常
3. 异常处理如下编程,输入一个文件路径或者文件名,查看该文件是否存在,如果存在,打开文件并在屏幕上输出该文件内容;如果不存在,显示“输入的文件未找到!”并要求重新输入;如果文件存在但在读文件过程中发生异常,则显示“文件无法正常读出”,并要求重新输入。
提示: “文件未找到”对应的异常名为:FileNotFoundError,其它异常直接用 except 匹配。

def main() :
    done = False
    while not done :
        try :
            filename = input("Please enter the file name: ")
            f= readFile(filename)
        except FileNotFoundError :
            print("Error: file not found.")
        except  :
            print("Error: file cannot be read.")

def readFile(filename) :
    inFile = open(filename, "r")
    try :
        return readData(inFile)
    finally :
        inFile.close()

def readData(inFile) :
 while True:
    line = inFile.readline()
    if not line: break
    print(line)
#启动程序
main()

Python实验之——文件与异常
坚持!!!

未经允许不得转载:作者:1387-常同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《Python实验之——文件与异常》 发布于2020-11-27

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录