2017-06-25 1 views
3

Weil ich den .tex Mark-up für ein Papier im gleichen git Repo als die ganze Software halte, die benötigt wird, um die benötigten Zahlen zu produzieren, habe ich die folgende Verzeichnisstruktur:Wie man Bild in höheres Verzeichnis als das der produzierenden Datei exportiert

+- code 
| +- script.jl 
+- figures 
| +- figure.eps 
+- ... 

Wenn script.jl Exporte figure.eps ist es möglich, sie auf die figures Ordner direkt zu exportieren? Oder ist die höchste Ebene, die ich zu der des Skripts selbst exportieren kann (d. H. code)?

Entschuldigung, wenn das eine dumme Frage ist; Wie Sie aus dem Kontext entnehmen können, in dem die Frage auftaucht, bin ich eher ein Forscher als ein Programmierer, und die Suche nach den Schlüsselwörtern, die mir in den Sinn kamen, brachte nichts hilfreiches.

Vielen Dank für Anregungen!

+1

Es sei denn, einige Datei/Verzeichnisberechtigungen intervenieren, den Dateinamen 'joinpath (".. "" Zahlen", "figure.eps")' Verwendung finden Sie auf den Standort der 'figure.eps' bekommen du hast es beschrieben. Beachten Sie die '" .. "', die Sie zum übergeordneten Verzeichnis führt. Und '' Joinpath' in der REPL für weitere Informationen. Die Notwendigkeit für Joinpath besteht darin, dass verschiedene Betriebssysteme die Dateinamen ein wenig anders behandeln. Überprüfen Sie auch 'pwd()', das das aktuelle Verzeichnis zurückgibt. Der im Kommentar angegebene Dateiname bezieht sich auf den Speicherort von 'script.jl', aber Sie befinden sich möglicherweise in einem anderen aktuellen Verzeichnis. –

Antwort

4

Sie können Ihre Figuren an einen beliebigen Ort auf Ihrem Computer exportieren, auf den Sie Zugriff haben. Wie Dan Getz erwähnte joinpath ist Ihr Freund bei der Angabe des Verzeichnisses, so dass Sie sich keine Sorgen über die Verwendung verschiedener Betriebssysteme machen müssen.

Ebenfalls wichtig zu prüfen ist, wo Sie das Skript aufrufen. Wenn ich in path/to/code bin und execute julia script.jl dann kann ich joinpath("..","figures","figure.eps") nur gut verwenden, weil der Pfad von Ihrem aktuellen Arbeitsverzeichnis berechnet wird.

Wenn Sie jedoch den Pfad relativ zum Speicherort von script.jl angeben möchten (damit Sie das Skript von überall aufrufen können), können Sie den Makro @__DIR__ verwenden, der den absoluten Pfad des Verzeichnisses zurückgibt, in dem sich die Datei befindet Das Makro wurde aufgerufen.

joinpath(@__DIR__,"..","figures","figures.eps")

Verwandte Themen