簡體   English   中英

權限錯誤Errno13-Windows上的Python

[英]Permission Error Errno13 - Python on Windows

提前謝謝你的幫助。

我正在編寫一些代碼,以便在不同的文件夾中瀏覽多個pdf文件並查找特定的單詞。 我的python知識充其量是最基本的知識,因為我只是為我的學士論文而學習。

當我在文件夾本身中運行該代碼時,它可以正常工作,但是我並不想使它自動在某個文件夾中的每個子文件夾中運行。

import PyPDF2
import os
rootdir = r"C:\Users\Tim Knickmann\Documents\LUBS\(3300) Dissertation\Data\Python Scripts for Earnigns Calls\Germany Transcripts"
extensions = ('.pdf')
pronoun_file = r"C:\Users\Tim Knickmann\Documents\LUBS\(3300) Dissertation\Data\Python Scripts for Earnigns Calls\pronoun_use.txt"
first_person_pronoun_file = r"C:\Users\Tim Knickmann\Documents\LUBS\(3300) Dissertation\Data\Python Scripts for Earnigns Calls\first_per_pronoun_use.txt"


def average_use(lst):
    return sum(lst) / float(len(lst))

# running it for every file
for subdirs_1, dirs_1, files_1 in os.walk(rootdir):
  for subdirs_1 in dirs_1:
        working_folder_directory = os.path.join(rootdir, subdirs_1)

        # reading in file into a seperate text document
        for subdirs_2, dirs_2, files_2 in os.walk(working_folder_directory):
            list_first_person_usage = []
            pdfFileObj = open(subdirs_2, 'rb')
            pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
            with open('working_doc.txt', 'w', encoding="utf-8") as f:
                        for i in range(0,pdfReader.numPages) :
                           pageObj = pdfReader.getPage(i)
                           f.write(pageObj.extractText())

每當我運行代碼時,它都會返回以下錯誤日志:

    runfile('C:/Users/Tim Knickmann/Documents/LUBS/(3300) Dissertation/Data/Python Scripts for Earnigns Calls/Germany Transcripts/190319 v10 Script for Earnings Calls.py', wdir='C:/Users/Tim Knickmann/Documents/LUBS/(3300) Dissertation/Data/Python Scripts for Earnigns Calls/Germany Transcripts')
Traceback (most recent call last):

  File "<ipython-input-66-a9a93e480b59>", line 1, in <module>
    runfile('C:/Users/Tim Knickmann/Documents/LUBS/(3300) Dissertation/Data/Python Scripts for Earnigns Calls/Germany Transcripts/190319 v10 Script for Earnings Calls.py', wdir='C:/Users/Tim Knickmann/Documents/LUBS/(3300) Dissertation/Data/Python Scripts for Earnigns Calls/Germany Transcripts')

  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 704, in runfile
    execfile(filename, namespace)

  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/Tim Knickmann/Documents/LUBS/(3300) Dissertation/Data/Python Scripts for Earnigns Calls/Germany Transcripts/190319 v10 Script for Earnings Calls.py", line 24, in <module>
    pdfFileObj = open(subdirs_2, 'rb')

PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Tim Knickmann\\Documents\\LUBS\\(3300) Dissertation\\Data\\Python Scripts for Earnigns Calls\\Germany Transcripts\\Deutsche Wohnen'

我已經解析了可用的內容,但是找不到適用於這種情況的任何內容。

我可以肯定地說,我正在嘗試打開一個已經打開的文件,但是找不到其他方法。

非常感謝所有幫助,再次感謝。

如錯誤所示,在行上:

pdfFileObj = open(orginial_file_directory, 'rb')

orginial_file_directory具有值

C:\\Users\\Tim Knickmann\\Documents\\LUBS\\(3300) Dissertation\\Data\\Python Scripts for Earnigns Calls\\Germany Transcripts

這很有意義,因為您已將其設置為

orginial_file_directory = os.path.dirname(os.path.realpath(file))

正如變量名所暗示的那樣,您了解這是一個目錄 ,您當然不能將其作為文件打開。

我想你想做些類似的事情

pdfFileObj = open(file, 'rb')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM