我想在Windows上的python 3.6中的pycharm中运行一个打开的命令,我得到了回复: Traceback (most recent call last): File "iris_database.py", line 36, in <module> with open('D:/reddit_data/{}/RC_{}'.format(timeframe.split('-')[0], timeframe), buffering=1000) as f: PermissionError: [Errno 13] Permission denied: 'D:/reddit_data/2015/RC_2015-05'
我尝试以管理员身份运行pycharm,以管理员身份从CMD运行,并且在目录的安全选项卡中授予所有权限,我尝试使用管理员权限从IDLE运行它 .
这是我的代码:
import sqlite3
import json
from datetime import datetime
timeframe = '2015-05'
sql_transaction = []
connection = sqlite3.connect('{}.db'.format(timeframe))
c = connection.cursor()
def create_table():
c.execute("""CREATE TABLE IF NOT EXISTS parent_reply(parent_id TEXT PRIMARY KEY, comment_id TEXT UNIQUE, parent TEXT, "
"comment TEXT, subreddit TEXT, unix INT, score INT)""")
def format_data(data):
data = data.replace('\n',' newlinechar ').replace('\r',' newlinechar ').replace('"',"'")
return data
def find_parent(pid):
try:
sql = "SELECT comment FROM parent_reply WHERE comment_id = '{}' LIMIT 1".format(pid)
c.execute(sql)
result = c.fetchone()
if result != None:
return result[0]
else: return False
except Exception as e:
# print(str(e))
return False
if __name__ == '__main__':
create_table()
row_counter = 0
paired_rows = 0
with open('D:/reddit_data/{}/RC_{}'.format(timeframe.split('-')[0], timeframe), buffering=1000) as f:
for row in f:
row_counter += 1
row = json.loads(row)
parent_id = row['parent_id']
body = format_data(row['body'])
created_utc = row['created_utc']
score = row['score']
comment_id = row['name']
subreddit = row['subreddit']
有什么建议?
1 回答
我从python idle运行相同的代码,它执行并完美地工作 . 当我在Windows 10 Pro 64位上的pycharm社区2018.2.2版本中运行相同的代码时,它给了我同样的错误
PermissionError:[Errno 13]权限被拒绝:
进入Pycharm“运行”菜单 - >编辑配置更正了问题 . 脚本和工作目录的路径不正确 . 在更正了两个值并检查使用python控制台标记运行之后 . 在python空闲中执行时,所有内容都正确地运行相同的输出完全相同的输出 .