lovry 发表于 2020-5-18 08:47:52

求助

def readFile(fileName):
    file = open(fileName,'r')
    res = file.read()
    return res

def countComments(result):
    resList = result.split(',')
    commentCnts = {}
    for res in resList:
      commentCnts = commentCnts.get(res, 0) + 1
    return commentCnts

result = readFile("C:\\py\\result.txt")
dicCnts = countComments(result)

file = open("C:\\py\\result.txt",'a')
most=max(dicCnts.values())

for k,v in dicCnts.items():
    if v == most:
      mostComment = k
      break
file.write("根据统计,对今天伙食感觉:\n")
file.write("'很满意'的学生{}人;\n".format(dicCnts["很满意"]))
file.write("'满意'的学生{}人;\n".format(dicCnts["满意"]))
file.write("'一般'的学生{}人;\n".format(dicCnts["一般"]))
file.write("'不满意'的学生{}人。\n".format(dicCnts["不满意"]))
file.write("出现次数最多的评语是{}\n".format(mostComment))
file.close()

result.txt的文件内容:
不满意,一般,很满意,一般,不满意,很满意,满意,一般,一般,不满意,满意,满意,满意,满意,满意,一般,很满意,一般,满意,不满意,满意,一般,不满意,满意,不满意,满意,很满意,很满意,满意,满意,不满意,满意,不满意,满意,一般,很满意,不满意,一般,很满意,满意,很满意,不满意,很满意,不满意,很满意,满意,满意,很满意,一般,很满意,满意,满意,很满意,不满意,很满意,满意,不满意,满意,不满意,满意,很满意,满意,很满意,一般,很满意,很满意,很满意,不满意,满意,一般,一般,一般,一般,不满意,不满意,满意,很满意,很满意,满意,满意,很满意,很满意,一般,一般,很满意,一般,一般,满意,很满意,一般

如何考虑这个文件打开和写入的文件异常处理?

qiuyouzhi 发表于 2020-5-18 08:49:01

直接加try-except呗

lovry 发表于 2020-5-18 08:49:08

而且我这个文件不知道为什么总是打不开

Twilight6 发表于 2020-5-18 08:52:21

lovry 发表于 2020-5-18 08:49
而且我这个文件不知道为什么总是打不开

什么意思?txt文件打不开吗?

lovry 发表于 2020-5-18 08:52:53

对的

lovry 发表于 2020-5-18 08:53:37

我不知道为什么打不开,错误为没有这样的文件或目录

Twilight6 发表于 2020-5-18 08:54:30

lovry 发表于 2020-5-18 08:52
对的

你回复人时候要点下别人窗口下的回复,不然我们看不见你说的

lovry 发表于 2020-5-18 08:54:53

qiuyouzhi 发表于 2020-5-18 08:49
直接加try-except呗

我尝试过了,还是没用

Twilight6 发表于 2020-5-18 08:57:13

lovry 发表于 2020-5-18 08:54
我尝试过了,还是没用

打不开文件你试试右击文件,点打开方式,用记事本打开这样

Twilight6 发表于 2020-5-18 08:57:50

lovry 发表于 2020-5-18 08:54
我尝试过了,还是没用

不应该啊,要不然就是你位置没加对

lovry 发表于 2020-5-18 08:58:44

Twilight6 发表于 2020-5-18 08:54
你回复人时候要点下别人窗口下的回复,不然我们看不见你说的

好的,你能帮我看看吗,我以为是我用pycharm的问题,然后我单用IDLE发现还是出同样的错误,我搞不懂这是为什么

lovry 发表于 2020-5-18 08:59:25

Twilight6 发表于 2020-5-18 08:57
不应该啊,要不然就是你位置没加对

你能打给我我看一下,我可能打错了

Twilight6 发表于 2020-5-18 08:59:40

lovry 发表于 2020-5-18 08:58
好的,你能帮我看看吗,我以为是我用pycharm的问题,然后我单用IDLE发现还是出同样的错误,我搞不懂这是 ...

如何正确地发代码、上传图片和附件?
https://fishc.com.cn/thread-52272-1-1.html
(出处: 鱼C论坛)


你这样发代码上来试试
我感觉你帖子发的缩进好像乱了

Twilight6 发表于 2020-5-18 09:01:12

lovry 发表于 2020-5-18 08:59
你能打给我我看一下,我可能打错了

哦没错是我复制错了

lovry 发表于 2020-5-18 09:02:52

Twilight6 发表于 2020-5-18 09:01
哦没错是我复制错了

谢谢谢!

Twilight6 发表于 2020-5-18 09:10:22

lovry 发表于 2020-5-18 09:02
谢谢谢!

def readFile(fileName):
    file = open(fileName,'r')
    res = file.read()
    file.close()
    return res

def countComments(result):
    resList = result.split(',')
    commentCnts = {}
    for res in resList:
      commentCnts = commentCnts.get(res, 0) + 1
    return commentCnts

result = readFile("C:\\py\\result.txt")
dicCnts = countComments(result)
print()

file = open("C:\\py\\result.txt",'a')
most=max(dicCnts.values())

for k,v in dicCnts.items():
    if v == most:
      mostComment = k
      break
file.write("\n根据统计,对今天伙食感觉:\n")
file.write("'很满意'的学生{}人;\n".format(dicCnts["很满意"]))
file.write("'满意'的学生{}人;\n".format(dicCnts["满意"]))
file.write("'一般'的学生{}人;\n".format(dicCnts["一般"]))
file.write("'不满意'的学生{}人。\n".format(dicCnts["不满意"]))
file.write("出现次数最多的评语是{}\n".format(mostComment))
file.close()
我运行结果正常,你重新试试,我用IDLE 和 Pycharm都运行了不会出错丫?

lovry 发表于 2020-5-18 09:11:26

Twilight6 发表于 2020-5-18 09:10
我运行结果正常,你重新试试,我用IDLE 和 Pycharm都运行了不会出错丫?

这个代码是正确的,我就是我不知道为什么我的会运行错,我。。。

Twilight6 发表于 2020-5-18 09:12:43

lovry 发表于 2020-5-18 09:11
这个代码是正确的,我就是我不知道为什么我的会运行错,我。。。

报错原因发上来

txxcat 发表于 2020-5-18 09:13:32

你要把错误提示拷贝过来,没有错误提示找问题,就象盲人摸象。

lovry 发表于 2020-5-18 09:21:25

Twilight6 发表于 2020-5-18 09:12
报错原因发上来

我上传不了图片
页: [1] 2 3
查看完整版本: 求助