Skrypt w języku Python kończy się niepowodzeniem po uruchomieniu z innej lokalizacji niż własny folder

0

Mam prosty skrypt Pythona, który chcę okresowo uruchamiać w tle za pomocą harmonogramu zadań w systemie Windows. Skrypt Pythona działa dobrze, jeśli wykonuję go normalnie z wiersza poleceń, gdy znajduje się w tym samym folderze, na przykład za pomocą polecenia „pythonw test.py”. Ale jeśli przejdę do innego folderu i użyję bezwzględnej ścieżki do skryptu, nie powiedzie się. Na przykład „pythonw C: /somefolder/test.py”, gdy wiersz poleceń nie jest obecnie w jakimś folderze.

Skrypt wymaga utworzenia pliku, więc wiem, że skrypt nie powiódł się, ponieważ nie został utworzony żaden plik. Podejrzewam problem z uprawnieniami, ale już próbowałem zmienić właściwości folderu, aby dać wszystkim użytkownikom, a nawet grupie uprawnień „Wszyscy” pełną kontrolę nad folderem. Co jeszcze mogę spróbować?

Mam Windows 10 Pro, Python 3

To jest skrypt Pythona, chociaż, jak wspomniałem, wiem, że kod działa poprawnie:

import urllib.request, json, csv, time

with urllib.request.urlopen(***) as url:
    data = json.loads(url.read().decode())
    with open(time.strftime("%Y%m%d-%H%M%S") +".csv", 'w', newline='') as csvfile:
        csvwriter = csv.writer(csvfile)
        #csvwriter.writerow([datetime.datetime.now().strftime("%c")])
        csvwriter.writerow(data['chatters']['viewers'])
GrixM
źródło

Odpowiedzi:

0

Nieważne, jestem głupcem. Skrypt działał, po prostu plik nie został utworzony w tym samym folderze co skrypt, a raczej w folderze, z którego został uruchomiony.

GrixM
źródło