鱼C论坛

 找回密码
 立即注册
查看: 1975|回复: 4

[已解决]PermissionError 文件系统 python

[复制链接]
发表于 2018-5-2 07:47:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#大家好!报错是(PermissionError:),这个应该怎么解决啊,之前没有遇到过,谢谢帮帮忙。(我这个是文件系统的题目,下面有代码和报错原因都有)

  1. import os

  2. def decide_condition(input_dir, keywords):
  3.     for each_file in os.listdir(input_dir):
  4.         file = open(input_dir + os.sep +  each_file)
  5.         decide_txt = os.path.splitext(each_file)[1]
  6.         if decide_txt == '.txt':
  7.             if keywords in file.read():
  8.                 print('ddddd')
  9.                
  10.         if os.path.isdir(input_dir + os.sep +  each_file):
  11.             print('kkkkkk')

  12. input_dir = input('请输入开始路径:')
  13. keywords = input('请输入查找的关键字')

  14. decide_condition(input_dir, keywords)


复制代码



#报错内容是:


  1. 请输入开始路径:E:\python
  2. 请输入查找的关键字吴清明
  3. ddddd
  4. Traceback (most recent call last):
  5.   File "E:\python\findFileKeywords.py", line 101, in <module>
  6.     decide_condition(input_dir, keywords)
  7.   File "E:\python\findFileKeywords.py", line 89, in decide_condition
  8.     file = open(input_dir + os.sep +  each_file)
  9. PermissionError: [Errno 13] Permission denied: 'E:\\python\\截图'
复制代码



#图片展示报错内容:

弹出异常2.png
最佳答案
2018-5-2 09:17:22
原谅我把在那个帖子的回复直接复制来了
因为open没有权限读取'截图'文件夹,它只能读取'截图'里面的文件。

  1. filelist = []
  2. for root,dirs,files in os.walk(input_dir):
  3.         for name in files:
  4.                 filelist.append(os.path.join(root,name))
复制代码


现在就可以open filelist的每个文件了,不过原来的代码可能要改得面目全非
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-5-2 09:03:09 | 显示全部楼层
一种可能的原因:
打开的不是一个文件而是一个文件夹,然后进行读写操作
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-2 09:17:22 | 显示全部楼层    本楼为最佳答案   
原谅我把在那个帖子的回复直接复制来了
因为open没有权限读取'截图'文件夹,它只能读取'截图'里面的文件。

  1. filelist = []
  2. for root,dirs,files in os.walk(input_dir):
  3.         for name in files:
  4.                 filelist.append(os.path.join(root,name))
复制代码


现在就可以open filelist的每个文件了,不过原来的代码可能要改得面目全非
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-2 23:09:48 | 显示全部楼层
elang696 发表于 2018-5-2 09:17
原谅我把在那个帖子的回复直接复制来了
因为open没有权限读取'截图'文件夹,它只能读取'截图'里 ...

没事,只要告诉我错误就行,反正是写代码,写错写对都在学代码,今天晚了,明天再看。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-2 23:11:59 | 显示全部楼层
BngThea 发表于 2018-5-2 09:03
一种可能的原因:
打开的不是一个文件而是一个文件夹,然后进行读写操作

我也不确定是碰见文件夹会报错,可能性太多所以问你们了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-11 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表