当前位置: 首页 > 面试题库 >

Python-IOError:[Errno 13]权限被拒绝:

百里承业
2023-03-14
问题内容

IOError: [Errno 13] Permission denied明白了,不知道这段代码有什么问题。

我正在尝试读取具有绝对路径(仅表示file.asm)的文件

和相对路径(意思是/.../file.asm),我希望程序将文件写入给定的任何路径-如果是绝对路径,则应将其写入当前目录;否则,转到给定的路径。

编码:

#call to main function
if __name__ == '__main__':
    assem(sys.argv[1])


import sys

def assem(myFile):
    from myParser import Parser
    import code
    from symbolTable import SymbolTable

    table=SymbolTable()

    # max size of each word
    WORD_SIZE = 16
    # rom address to save to
    rom_addrs = 0
    # variable address to save to
    var_addrs = 16

    # new addition
    if (myFile[-4:] == ".asm"):
        newFile = myFile[:4]+".hack"

    output = open(newFile, 'w') <==== ERROR

给出的错误:

IOError: [Errno 13] Permission denied: '/Use.hack'

我执行代码的方式:

python assembler.py Users/***/Desktop/University/Add.asm

我在这里做错了什么?


问题答案:

您似乎正在尝试使用以下代码替换扩展名:

if (myFile[-4:] == ".asm"):
    newFile = myFile[:4]+".hack"

但是,您似乎混合了数组索引。请尝试以下操作:

if (myFile[-4:] == ".asm"):
    newFile = myFile[:-4]+".hack"

请注意在第二行代码中使用-4代替4。这说明了您的程序为何要尝试创建/Use.hack,它是文件名()的
四个字符/Use,并.hack附加在其后。



 类似资料:
  • 问题内容: 通过Flask / Python运行Selenium时收到以下错误 该功能是 如果直接进入应用程序目录并运行脚本(),则不会收到该错误。 基于此,通过Flask运行时,日志文件似乎不可写,但该文件应位于何处? 可执行文件安装在 问题答案: 这些错误为我们提供了一些有关发生了什么错误的提示,如下所示: 按照源代码中的 GeckoDriver 得到了两个默认参数发起和如下: 您的程序在这里

  • 问题内容: 尝试执行使用多处理程序包的python程序时出现错误: 用户似乎没有访问共享内存的权限。使用root特权执行时,它可以正常工作。 有什么解决方案可以以普通用户(不是root)身份运行它? Python版本2.6.2,操作系统是Linux 2.6.18(CentOS版本5.4),它是VPS计算机。 问题答案: 为了使POSIX信号正常工作,用户需要对共享内存()具有读写权限。 检查对的权

  • 问题内容: 我想使用Linux和Python通过广播发送一些数据: 我在根目录下启动此脚本并得到以下错误: 怎么了? 问题答案: 您正在尝试发送到广播地址。不允许,请参见sendto(2)的联机帮助页: EACCES (对于UDP套接字)尝试将其发送到网络/广播地址,就好像它是单播地址一样。 如果您实际上要发送到广播地址,请设置SO_BROADCAST选项:

  • 问题内容: 当我尝试运行简单的docker命令时,例如: 我收到一条错误消息: 获得权限被拒绝… /var/run/docker.sock:connect:权限被拒绝 当我检查权限 我看到这一行: 因此,我遵循许多论坛的建议并将本地用户添加到docker组: 但这无济于事。我仍然收到非常相同的错误消息。我该如何解决? 问题答案: 对于那些刚接触shell的人,命令: 需要在您的外壳中定义。默认情况

  • 问题内容: 尝试显示URI时出现以下异常。我认为这是在我的活动停止后发生的,我尝试再次访问可行的URI。还有其他问题可以解决这个问题,但是我对如何对我的代码应用任何解决方案感到非常困惑,因为我的takePhotoIntent允许拍照或从图库中选择图片(如下所示)。 我的createImageFile和我的takePhotoIntent: 问题答案: 根据Storage Access Framewo

  • 问题内容: 我对编码比较陌生,遇到了麻烦。 我有这段代码可以将数据发送到Firebase 但是,我不断收到错误: FIREBASE警告:设置为/ users /(GoogleID)失败:Permission_denied 2016-05-23 22:52:42.707 firebase.js:227未捕获(承诺)错误:PERMISSION_DENIED:权限被拒绝(…) 当我尝试查找时,它谈论的是