Lasciatemi prefigurare ciò dicendo che sono non esattamente sicuro di cosa sta accadendo con il mio codice; Sono abbastanza nuovo alla programmazione.Come faccio a sfuggire alle barre in avanti in python, in modo che open() veda il mio file come un nome file da scrivere, invece che un percorso file da leggere?
Ho lavorato alla creazione di un singolo progetto finale per la mia classe Python CS che controlla il sito web del mio insegnante su base giornaliera e determina se ha cambiato una qualsiasi delle pagine web sul suo sito Web dall'ultima volta che il programma è stato eseguito o non.
Il passo su cui sto lavorando in questo momento è la seguente:
def write_pages_files():
'''
Writes the various page files from the website's links
'''
links = get_site_links()
for page in links:
site_page = requests.get(root_url + page)
soup = BeautifulSoup(site_page.text)
with open(page + ".txt", mode='wt', encoding='utf-8') as out_file:
out_file.write(str(soup))
I collegamenti sono simili a questo:
/site/sitename/classe/final-codice
E l'errore che ottengo è il seguente:
with open(page + ".txt", mode='wt', encoding='utf-8') as out_file:
FileNotFoundError: [Errno 2] No such file or directory: '/site/sitename/class.txt'
Come posso scrivere le pagine del sito con questi tipi di nomi (/site/sitename/nameofpage.txt)?
non è possibile avere '/' nel nome file del file, è possibile sostituire '/' con '.' –
Grazie! Questo risponde totalmente alla mia domanda. Puoi dirmi quale sia lo scopo di escludere le barre in avanti? C'è uno scopo? –
'/' è usato per le directory così '/ site' ecc. È trattato come una directory che fa sì che l'errore che vedi come/site/sitename /' non sia una directory –