PermissionError: [Errno 13] Отказано в доступе в блокноте python jupyter

Я пытаюсь создать имя файла и его путь, а затем читаю этот файл, но выдает эту ошибку.

import os
import pandas as pd
all_text_samples = []
# file_list contains names of all files in "clean_data" folder
file_list = os.listdir("clean_data/")

for file_name in file_list:
# Construct filename and its path
file = (f"clean_data/" + file_name)

# Now open file for reading
my_text_file = open(file, encoding="utf8")
file_data = my_text_file.read()

# Append the data to the list
all_text_samples.append(file_data)

# Convert list to dataframe
text_dataframe = pd.DataFrame(all_text_samples)
text_dataframe.columns = ["Text"]

Выдает следующую ошибку:

PermissionError                           Traceback (most recent call last)
<ipython-input-4-8e06886c8a51> in <module>
      4 
      5     # Now open file for reading
----> 6     my_text_file = open(file, encoding="utf8")
      7     file_data = my_text_file.read()
      8 

PermissionError: [Errno 13] Permission denied: 'clean_data/clean_data'

person ASAD.SHAH    schedule 10.04.2020    source источник
comment
Попробуй это! stackoverflow.com/a/13207548/11323304 Если это не сработает, прокомментируйте.   -  person zerecees    schedule 10.04.2020
comment
лучше указать абсолютный путь или относительный путь   -  person sahasrara62    schedule 10.04.2020
comment
@zerecees- я не открываю файл, я загружаю каталог. Это все еще не работает для меня.   -  person ASAD.SHAH    schedule 11.04.2020


Ответы (1)


os.listdir("clean_data/") дает вам список, состоящий из файлов и каталогов, содержащихся в папке "clean_data/", и попытка открыть каталог с помощью команды open() приводит к ошибке, которую вы получаете, вы можете открывать только файлы.

Итак, похоже, что в папке "clean_data/" у вас также есть несколько каталогов, и вы пытаетесь (непреднамеренно) открыть один из них, поскольку это был файл.

Если вас интересуют только файлы, содержащиеся в папке "clean_data/", вы можете легко изменить свой код, чтобы отфильтровать каталоги и открывать только файлы:

# Now open file for reading
if not os.path.isdir(file):
    my_text_file = open(file, encoding="utf8")
    file_data = my_text_file.read()
person Marco    schedule 21.11.2020