Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 即使在chmod 777之后,许可也被拒绝_Python_Cygwin - Fatal编程技术网

Python 即使在chmod 777之后,许可也被拒绝

Python 即使在chmod 777之后,许可也被拒绝,python,cygwin,Python,Cygwin,我有一个python脚本,需要访问文件夹中的3个文件。当我运行脚本时,我得到以下信息: $ python mqtt_pub_test.py Traceback (most recent call last): File "mqtt_pub_test.py", line 10, in <module> mqttc.tls_set(my_ca_cert, certfile=my_pri_cert, keyfile=my_key_cert) File "C:\Python2

我有一个python脚本,需要访问文件夹中的3个文件。当我运行脚本时,我得到以下信息:

$ python mqtt_pub_test.py
Traceback (most recent call last):
  File "mqtt_pub_test.py", line 10, in <module>
    mqttc.tls_set(my_ca_cert, certfile=my_pri_cert, keyfile=my_key_cert)
  File "C:\Python27\lib\site-packages\paho\mqtt\client.py", line 557, in tls_set
    raise IOError(ca_certs+": "+err.strerror)
IOError: C:\Users\<user>\my_phone_certs: Permission denied
$python mqtt_pub_test.py
回溯(最近一次呼叫最后一次):
文件“mqtt_pub_test.py”,第10行,在
mqttc.tls\u集(我的证书,证书文件=我的证书,密钥文件=我的密钥证书)
文件“C:\Python27\lib\site packages\paho\mqtt\client.py”,第557行,在tls\U集中
raise IOError(ca_certs+“:“+err.strerror)
IOError:C:\Users\\my\u phone\u certs:权限被拒绝
为了解决这个问题,我对路径中的所有内容都运行了chmod777,甚至包括文件本身! mqttc.tls_集中的变量指向文件夹位置。 我不知道为什么我现在仍然被拒绝


有什么建议吗

您正在尝试访问无法编辑的文件:
mqttc.tls\u集(my\u ca\u cert,certfile=my\u pri\u cert,keyfile=my\u key\u cert)

如果在Linux中,您可以作为超级用户(
sudopython mqtt_pub_test.py
)运行脚本。

如果您在类似的环境中运行(您在注释中描述过),您应该将其用作文件描述符,或者让我们说文件指针类似于
/cygdrive/c/Users/yourusername/phone\u certs
(或者对于git bash,例如
/c/Users/youruser/phone\u certs


我真的建议您完全转向Windows,因为它在Windows上为您提供了一个更完整的类似linux的环境,使用起来非常方便。

您使用的是Windows还是linux?@flazzarini从文件路径结构来看,它肯定是Windows。好的,但是您如何在Windows上运行
chmod 777
?您尝试过调用它吗像脚本一样?/mqtt_pub_test.py(当然是shebang中的python)编辑:没有注意到环境。它是用linux标记的。@flazzarini如果我要猜一猜,也许是用cygwin?但这只是一个猜测,知道到底发生了什么。