python里permission denied错误是什么_Python 3.6 解决 PermissionError: [Errno 13] Permission denied…「终于解决」

python里permission denied错误是什么_Python 3.6 解决 PermissionError: [Errno 13] Permission denied…「终于解决」出现该错误,首先尝试以管理员身份运行cmd.exe程序,然后关闭所有的与python相关的进程。open打开一个文件夹(目录),而不是文件这一错误一般发生在使用open函数对文件打开,进行读写操作时,PermissionError:[Errno13]inpythoPython:WhyamIgetting[Errno13]PermissionDenied?在字符串…

大家好,欢迎来到IT知识分享网。

出现该错误,首先尝试以管理员身份运行 cmd.exe 程序,然后关闭所有的与 python 相关的进程。

open 打开一个文件夹(目录),而不是文件

这一错误一般发生在使用 open函数对文件打开,进行读写操作时,

PermissionError: [Errno 13] in pytho

Python: Why am I getting [Errno 13] Permission Denied?

在字符串之前添加r前缀,以表示 raw,以保证不会将路径中出现的n、b等字符转换为别的类型。

使用 pip install 安装包时,

PyQt5 pip installation error 13. Permission denied

一般错误提示会给出,PermissionError: [Errno 13] Permission denied: ‘c:\anaconda3\Lib\site-packages\xxxx.pyd’,也即在操作某 xxxx.pyd 文件时发生权限问题。

打开windows的任务管理器(task manager),关闭一切与 python 相关的进程,重新下载安装。

环境: win7 + Python3.6

输入:

file = open(‘E:/我的坚果云/Pycharmprojects/Laboratory’,’w’)

file.write(‘Hello world!’)

问题:

Traceback (most recent call last):

File”E:\我的坚果云\PycharmProjects\Windows\1_print_open.py”, line1,in

file = open(‘E:/我的坚果云/Pycharmprojects/Laboratory’,’w’)

PermissionError: [Errno13] Permission denied:’E:/我的坚果云/Pycharmprojects/Laboratory’

解决:

file = open(‘E:/我的坚果云/Pycharmprojects/Laboratory’,’w’)

这里写入的是文件夹 /Laboratory ,而不是文件,所以应该在后面加一个文件,即:

file = open(‘E:/我的坚果云/Pycharmprojects/Laboratory/1.txt’,’w’)

这样这个路径下就会生成一个 1.txt 的文件,文件内容是

Hello world!

1. 问题提出

在定制开发爬虫之时,我们会常常需要模拟浏览器进行页面的访问和操作, PhantomJS就是这样一个解决方案,帮助我们模拟用户的操作和访问。在使用该框架之时,发现了如下错误信息:

平台附属信息: Python 3.5, windows 7.

driver = webdriver.PhantomJS(executable_path=r’D:/Program Files/phantomjs-2.1.1-windows/bin/phantomjs’)

Traceback (most recent call last):

File “”, line 1, in

driver = webdriver.PhantomJS(executable_path=r’D:/Program Files/phantomjs-2.1.1-windows/bin/phantomjs’)

File “D:\Program Files\adaconda3\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py”, line 51, in __init__

log_path=service_log_path)

File “D:\Program Files\adaconda3\lib\site-packages\selenium\webdriver\phantomjs\service.py”, line 50, in __init__

service.Service.__init__(self, executable_path, port=port, log_file=open(log_path, ‘w’))

PermissionError: [Errno 13] Permission denied: ‘ghostdriver.log’

经过分析其中的错误信息发现,其没有权限写入ghostdriver.log的日志文件,在windows下还需要什么权限?我一时没有想明白。 另外ghostdriver.log并未出现在我们的代码中,其应该是PhantomJS自身携带的日志信息文件。

2. 问题的解决

首先我猜测是由于日志文件的权限问题造成的,但是在windows下其实没有什么权限控制的,当下用户都是管理员,权限应该不是的。 那就换一个思路分析问题,一般情况下日志文件都是允许自定义或者指定的,这里的这个ghostdriver.log应该是缺省的日志文件,能否重新指定日志文件,从而规避此问题的呢?

于是,我们将代码的配置信息修改如下:

driver = webdriver.PhantomJS(executable_path=r’D:/Program Files/phantomjs-2.1.1-windows/bin/phantomjs’,

service_log_path=r”E:/watchlog.log”)

这里最主要的修改是设置了service_log_path的日志路径,指定为本地的某个目录文件。重新执行程序之后,问题消失。

3. 总结

基于常理来推测问题,绝大多数情况下都是使用上的不正确造成的问题,故应该比较容易得到解决。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25317.html

(0)
上一篇 2023-07-28 09:33
下一篇 2023-07-29 11:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信