it-swarm-eu.dev

Stellen Sie das Arbeitsverzeichnis in Python / Spyder so ein, dass es reproduzierbar ist

Von R kommend ist die Verwendung von setwd zum Ändern des Verzeichnisses ein großes Nein gegen die Reproduzierbarkeit, da andere nicht dieselbe Verzeichnisstruktur haben wie ich. Daher wird empfohlen, den relativen Pfad vom Speicherort des Skripts zu verwenden.

IDEs erschweren dies geringfügig, da sie ein eigenes Arbeitsverzeichnis festlegen. In Rstudio kann ich dieses Problem bei Rstudio-Projekten leicht umgehen, indem ich das Projektverzeichnis als meinen Skriptordner einstelle.

Mit Python und Spyder scheint es keine Lösung zu geben. Spyder hat keine Funktion wie das Projekt von Rstudio. Setzen des Verzeichnisses auf den Speicherort des Skripts nicht während der interaktiven Analyse arbeiten (seit __file__ ist nicht verfügbar).

Was tun, damit das Arbeitsverzeichnis in Python/Spyder reproduzierbar ist?

12
Heisenberg

Um dies automatisch zu tun, setzen Sie dies an den Anfang Ihres Skripts:

from os import chdir, getcwd
wd=getcwd()
chdir(wd)
7
OSagnostic

In der Zwischenzeit können Sie os.chdir verwenden

import os
os.chdir('C:\Users\me\Documents')
4
NinComPoop

Es scheint, dass sie dies als eine Funktion in Spyder angesehen haben, die auf diesem GitHub-Ticket basiert, aber es wartet noch auf die Implementierung ab Mitte Mai:

Wir können dem Dialogfeld "Ausführen" eine Option hinzufügen, mit der das Arbeitsverzeichnis automatisch auf das von Ihnen ausgeführte Skript festgelegt wird.

Jemand anderes muss es jedoch implementieren. Wir sind im Moment ziemlich beschäftigt mit anderen Dingen, sorry.

https://github.com/spyder-ide/spyder/issues/3154

@ ccordoba12 ccordoba12 hat dieses Bild am 14. Mai zum Meilenstein der Wunschliste hinzugefügt

2
Hack-R

Ich habe es versucht und es funktioniert.

import os
abspath = os.path.abspath('') ## String which contains absolute path to the script file
os.chdir(abspath) ## Setting up working directory
2
Wojciech Pawlik

Nun, es gibt viele Dinge, die Sie ausprobieren können! 1. Ändern Sie das Verzeichnis in das aktuelle Verzeichnis in der Symbolleiste. 2. Ändern Sie das globale Verzeichnis in das aktuelle Verzeichnis unter Einstellungen> Globales Arbeitsverzeichnis. Klicken Sie auf das Optionsfeld "Aktuelles Dateiverzeichnis".

Ich hoffe es hilft!

0
Akash Mantry