У меня есть следующий код:
import datetime as date
import os
import pdfkit
import getpass #Gets me current username
username = getpass.getuser()
path = f"/home/{username}/Data"
relative_path = os.path.relpath(path, os.getcwd())
destination = os.path.join(relative_path, 'data.pdf')
pdfkit.from_url('www.google.com', f'{destination}/data.pdf')
Я хочу, чтобы PDF-файл был сохранен в windows эквиваленте /home/[username]/datafolder
. Мне не нужно использовать linux или ма c, но по академическим причинам c я решил использовать метод относительного пути.
Этот код имеет смысл для меня, но по какой-то причине я хочу, чтобы это был не каталог, потому что когда я указываю путь таким образом, генератор pdf выдает ошибку.
Error: Unable to write to destination
Exit with code 1, due to unknown error.
Я знаю, что ошибка в последней строке кода, где я указал '/relative_path/data.pdf
'. Не могли бы вы посоветовать, как мне решить эту проблему?
Обновление 1:
По предложению @Matthias я обновил код, но все еще получаю та же ошибка
Обновление 2:
Я пытался:
from pathlib import Path
destination = Path.home()
try:
os.mkdir(destination\Data)
except OSError as error:
print(error)
Но он все еще не указывает на каталог Data
Обновление 3 Я знаю, что все ближе:
import pdfkit
import datetime as date
import calendar
import os.path
import getpass
username = getpass.getuser()
path = f"/home/{username}/Data"
os.makedirs(relative_path, exist_ok=True)
#start = os.getcwd()
relative_path = os.path.relpath(path, os.getcwd())
destination = os.path.join(relative_path, 'data.pdf')
pdfkit.from_url('www.google.com', f'{relative_path}/data.pdf')
В этот момент код выполняется, но папка Data
не был создан не могу найти data.pdf
. Я получил успешный запуск, хотя:
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
Любые идеи о том, как я могу заставить это работать правильно? Код не выдает папку или файл?