OSError: [Errno 22] Неверный аргумент (ПОСЛЕ экранирования обратной косой черты) - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь создать объект pandas ExcelFile, и я получаю следующую ошибку в последней строке моего кода ниже: OSError: [Errno 22] Invalid argument.

Насколько я понимаю, это вызвано имея обратную косую черту в пути к файлу, который Python интерпретирует как escape-символ - но, как вы можете видеть, я добавил в вызов replace() замену одинарных обратных косых черт на двойные, которые должны правильно их экранировать. Любые идеи относительно того, что еще я могу попробовать?

import pandas as pd
import tkinter as tk
from tkinter import filedialog
import os

#Prompts you to select a folder
root = tk.Tk()
root.withdraw()
directory = filedialog.askdirectory().replace('/', '\\')

#loops over files in folder, trying to create an ExcelFile object from each of them
for f in os.listdir(directory):
    full_path = os.path.join(directory, f).replace('\\', '\\\\')
    print(full_path)
    wkb = pd.ExcelFile(full_path)

1 Ответ

0 голосов
/ 23 января 2020

Исправлено, но решение не было в моем коде. Файл, к которому я пытался получить доступ, находился в синхронизированной папке Sharepoint, и syn c был приостановлен, поэтому я предполагаю, что Python не может получить доступ к файлу (я обнаружил это, когда попытался скопировать файл в другую папку и получил всплывающее сообщение об ошибке «Поставщик облачных файлов не работает»). Мне буквально просто пришлось включить синхронизацию, и это все исправило. Абсолютно не относится к Python или чему-либо еще, хотя я sh это сообщение об ошибке было бы более наглядным. :)

...