【问题标题】:Permissions denied using i for i in open在开放中使用 i for i 被拒绝的权限
【发布时间】:2020-11-16 07:45:50
【问题描述】:

这是我得到的代码:

filename = 'C:\\Users\chnyr\Desktop\Python Programs'
var = [i for i in open(filename, 'r+')] 
['1\n', '2\n', '3\n', '\n']

我不断收到以下错误消息。我正在使用pyCharm v3.8

C:\Users\chnyr\anaconda3\envs\untitled3\python.exe "C:/Users/chnyr/PycharmProjects/untitled3/translate test.py"
Traceback (most recent call last):
  File "C:/Users/chnyr/PycharmProjects/untitled3/translate test.py", line 9, in <module>
    var = [i for i in open('C:\\Users\chnyr\Desktop\Python Programs', 'r+')]
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\chnyr\\Desktop\\Python Programs'

Process finished with exit code 1

【问题讨论】:

    标签: python permissions


    【解决方案1】:

    您得到的错误是您正在尝试使用open() 方法打开一个文件夹。您只能使用该方法打开文件。

    【讨论】:

      【解决方案2】:

      在 python(和许多其他语言)中,\ 是转义字符。这使得使用 Windows 文件系统进行编码相当棘手。你必须通过\\ 而不是\ 来逃避每次逃跑。除此之外,像 Ann zen saidopen 仅适用于文件。您可能想要的是来自 glob 模块的glob.glob

      import glob
      var = [i for i in glob.glob('C:\\Users\\chnyr\\Desktop\\Python Programs\\*.py')]
      print(var)
      a = []
      for i in var:
          a.append(open(i,'r+'))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-08
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 2020-05-31
        相关资源
        最近更新 更多