Lassen Sie mich dies vorausschicken, indem ich sage, dass ich nicht genau bin sicher, was mit meinem Code geschieht; Ich bin ziemlich neu im Programmieren.Wie entkomme ich Schrägstriche in Python, so dass open() sieht meine Datei als Dateiname zu schreiben, anstatt einen Dateipfad zu lesen?
Ich habe an der Erstellung eines individuellen Abschlussprojekts für meine Python CS-Klasse gearbeitet, die täglich die Website meines Lehrers überprüft und feststellt, ob er seit dem letzten Ausführen des Programms eine der Webseiten auf seiner Website geändert hat nicht.
Der Schritt arbeite ich jetzt an ist wie folgt:
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))
Die Links sehen wie folgt aus:
/site/Site-Name/Klasse/Abschluss-Code
Und die Fehler die ich erhalte, wie folgt:
with open(page + ".txt", mode='wt', encoding='utf-8') as out_file:
FileNotFoundError: [Errno 2] No such file or directory: '/site/sitename/class.txt'
Wie kann ich die Seiten mit diesen Namen (/site/sitename/nameofpage.txt) schreiben?
page.replace("/",".") + ".txt"
Python setzt /site
etc .. ist ein Verzeichnis:
Sie können '/' in der Datei Basisname nicht haben, können Sie ersetzen '/' mit '.' –
Vielen Dank! Das beantwortet meine Frage vollständig. Können Sie mir sagen, welchen Zweck der Ausschluss von Schrägstrichen hat? Gibt es einen Zweck? –
'/' wird für Verzeichnisse verwendet, so dass '/ site' usw. als Verzeichnis behandelt wird, das den angezeigten Fehler verursacht, da'/site/sitename/'kein Verzeichnis ist –