Pyinstaller因此json错误而失败?

2024-05-23 14:10:38 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我构建了这个非常奇怪,可能非常混乱的代码,但不管怎样它都很有趣

from colorama import Fore, Style
from os import system
import cloudscraper
import json

_ = system('cls')

email = input('Email: ')

bright = Style.BRIGHT
end = Style.RESET_ALL
yellow = Fore.YELLOW
cyan = Fore.CYAN
red = Fore.RED
green = Fore.GREEN

load = False

scraper = cloudscraper.create_scraper()

while load == False:
    try:
        response = scraper.get(f'https://haveibeenpwned.com/unifiedsearch/{email}')
        load = True
    except:
        scraper = cloudscraper.create_scraper()
        continue

try:
    response = json.loads(response.content)

    breaches = len(response['Breaches'])

    print(f'\n{bright}Breaches{end} [{email}]: {bright}{red}{breaches}{end}\n')

    for breach in response['Breaches']:

        if str(breach['IsVerified']) == 'True':
            verified = f'{bright}{green}True{end}'
        else:
            verified = f'{bright}{red}False{end}'
        
        if str(breach['IsFabricated']) == 'True':
            fabricated = f'{bright}{green}True{end}'
        else:
            fabricated = f'{bright}{red}False{end}'

        if str(breach['IsSensitive']) == 'True':
            sensitive = f'{bright}{green}True{end}'
        else:
            sensitive = f'{bright}{red}False{end}'

        added_date = str(breach['AddedDate']).split('T')[0]

        pawned = '{:,}'.format(breach['PwnCount'])

        print(f"""

{bright}{cyan}{(breach['Name']).upper()}{end} [{breach['Domain']}]
{bright}{yellow}Verified:{end} {verified}
{bright}{yellow}Fabricated:{end} {fabricated}
{bright}{yellow}Sensitive:{end} {sensitive}
{bright}{yellow}Description:{end} {breach['Description']}
{bright}{yellow}Breach/Added Data:{end} {breach['BreachDate']} / {added_date}
{bright}{yellow}# Pawned:{end} {pawned}
{bright}{yellow}Compromised Data:{end} {', '.join(breach['DataClasses'])}
""")
except:
    print(f'\n{bright}Breaches{end} [{email}]: {bright}{green}0{end}\n')


input('\n\n')

我想看看是否能把它变成.exe,所以我用了pyinstaller -F -i "icon.ico" "Breach.py"。这通常在我在其他程序上执行时有效,但这一次它给了我以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\user\\AppData\\Local\\Temp\\_MEI186282\\cloudscraper\\user_agent\\browsers.json'
[760] Failed to execute script Breach

这次我做错了什么?我怎么可能去解决这个问题呢


Tags: importfalsetrueemailresponsegreenredscraper