Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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:将电子邮件正文导入文本文件导致PermissionError_Python_Python 3.x_Imaplib - Fatal编程技术网

Python:将电子邮件正文导入文本文件导致PermissionError

Python:将电子邮件正文导入文本文件导致PermissionError,python,python-3.x,imaplib,Python,Python 3.x,Imaplib,我在这里的帖子中看到了这段代码,想看看它是如何工作的: 但当我尝试时,出现了一个错误权限错误:[Errno 13]权限被拒绝:“C:\\email1.txt” 代码如下: import imaplib import email mail = imaplib.IMAP4_SSL('imap.gmail.com') mail.login('myemail', 'mypassword') mail.list() mail.select('inbox') result, data = mail.uid

我在这里的帖子中看到了这段代码,想看看它是如何工作的:

但当我尝试时,出现了一个错误<代码>权限错误:[Errno 13]权限被拒绝:“C:\\email1.txt”

代码如下:

import imaplib
import email
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('myemail', 'mypassword')
mail.list()
mail.select('inbox')

result, data = mail.uid('search', None, "ALL")
i = len(data[0].split())
for x in range(i):
    latest_email_uid = data[0].split()[x]
    result, email_data = mail.uid('fetch', latest_email_uid, '(RFC822)')
    raw_email = email_data[0][1]

    raw_email_string = raw_email.decode('utf-8')
    email_message = email.message_from_string(raw_email_string)
for part in email_message.walk():
    if part.get_content_type() == "text/plain":
        body = part.get_payload(decode=True)
        save_string = "C:\\email" + str(x) + ".txt"
        myfile = open(save_string, 'a')
        myfile.write(str(body))
        myfile.close()
    else:
        continue

我猜这与我在C:位置创建的文件夹的访问权有关,但我不知道该怎么办。

你实际上被告知你无权访问该文件。你能试着用C语言手动创建一个文件吗:我确实是在运行代码之前创建的。不过我刚刚创建了一个文件夹。我应该也创建一个文本文件吗?我看不出你的代码有任何明显的错误。可能尝试将文件写入另一个文件夹,可能是C:\\Users\\SOMEUSER\\email1.txt仍然是相同的错误您如何调用脚本?