如何解决,PermissionError:[Errno 13]权限被拒绝:'test.from'

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (1845)

我正在关注python中聊天机器人的训练数据教程。但是,每当我运行代码时,我都会收到此错误,

line 22, in <module>
    with open('test.from','a', encoding='utf8') as f:
PermissionError: [Errno 13] Permission denied: 'test.from'

我转到我的项目文件夹并更改了“staff”和“everyone”的权限。我做到了这样两者都可以读写。然而,这没有做任何事情,我仍然有同样的错误。

以下是我的代码,

import sqlite3
import pandas as pd

timeframes = ['2015-01']

for timeframe in timeframes:
    connection = sqlite3.connect('/Users/usr/Desktop/fileName/RC_{}.db'.format(timeframe))
    c = connection.cursor()
    limit = 5000
    last_unix = 0
    cur_length = limit
    counter = 0
    test_done = False

    while cur_length == limit:
        df = pd.read_sql("SELECT * FROM parent_reply WHERE unix > {} and parent NOT NULL and score > 0 ORDER BY unix ASC LIMIT {}".format(last_unix,limit),connection)
        last_unix = df.tail(1)['unix'].values[0]
        cur_length = len(df)

        if not test_done:
            with open('test.from','a', encoding='utf8') as f:
                for content in df['parent'].values:
                    f.write(content+'\n')
            with open('test.to','a', encoding='utf8') as f:
                for content in df['comment'].values:
                    f.write(str(content)+'\n')
            test_done = True
提问于
用户回答回答于

可能的原因

  1. 用户在该目录中没有写访问权限。
  2. 该文件受写保护。
  3. 该文件正在另一个来源中使用。

很可能你在该目录中没有写访问权限,因此请填写您有权访问的目录的完整路径,然后重试。

扫码关注云+社区

领取腾讯云代金券