Ich verwende Python 3.2 unter Windows 7. Wenn ich die Python-Shell öffne, wie kann ich das aktuelle Verzeichnis ermitteln und in ein anderes Verzeichnis ändern, in dem sich meine Module befinden?
Ich verwende Python 3.2 unter Windows 7. Wenn ich die Python-Shell öffne, wie kann ich das aktuelle Verzeichnis ermitteln und in ein anderes Verzeichnis ändern, in dem sich meine Module befinden?
Antworten:
Sie können das os
Modul verwenden.
>>> import os
>>> os.getcwd()
'/home/user'
>>> os.chdir("/tmp/")
>>> os.getcwd()
'/tmp'
Aber wenn es darum geht, andere Module zu finden: Sie können eine Umgebungsvariable namens PYTHONPATH
unter Linux festlegen
export PYTHONPATH=/path/to/my/library:$PYTHONPATH
Dann sucht der Interpreter auch an dieser Stelle nach import
ed-Modulen. Ich denke, der Name wäre unter Windows der gleiche, aber ich weiß nicht, wie ich ihn ändern soll.
bearbeiten
Unter Windows:
set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
(entnommen aus http://docs.python.org/using/windows.html )
bearbeiten 2
... und noch besser: Mit virtualenv
und virtualenv_wrapper
können Sie eine Entwicklungsumgebung erstellen, in der Sie Modulpfade nach Belieben hinzufügen können ( add2virtualenv
), ohne Ihre Installation oder "normale" Arbeitsumgebung zu verschmutzen.
http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html
PYTHONPATH
, aber beachten Sie, dass das OP Windows spezifiziert ...
sys.path
Innere Ihres Skripts anzuhängen .
PYTHONPATH
global festlegen, wenn mehr als ein Python installiert ist (oder Programme installiert sind, die Python mit ihnen bündeln - mit anderen Worten, Sie werden es nie erfahren): Dies kann Ihre Installation auf mysteriöse Weise
Sie wollen
import os
os.getcwd()
os.chdir('..')
os.chdir('C:/Users/Ajeya/Documents')
oder os.chdir('C:\\Users\\Ajeya\\Documents')
oder os.chdir(r'C:\Users\Ajeya\Documents')
.
os.getcwd()
nur zu Debugging-Zwecken aufrufen, damit wir sehen können, wie das Arbeitsverzeichnis lautet, bevor wir es ändern. Der Code, um das tatsächlich zu ändern, cwd
ist nuros.chdir('..')
>>> import os
>>> os.system('cd c:\mydir')
os.system()
Kann in der Tat jeden Befehl ausführen, den die Windows-Eingabeaufforderung ausführen kann, und nicht nur das Verzeichnis ändern.
Das Ändern des aktuellen Verzeichnisses ist nicht der Weg, um Module in Python zu finden.
In den Dokumenten zu The Module Search Path erfahren Sie vielmehr, wie Python das zu importierende Modul findet.
Hier ist ein relevantes Bit aus dem Abschnitt Standardmodule :
Die Variable sys.path ist eine Liste von Zeichenfolgen, die den Suchpfad des Interpreters für Module bestimmt. Es wird mit einem Standardpfad initialisiert, der aus der Umgebungsvariablen PYTHONPATH stammt, oder mit einem integrierten Standardpfad, wenn PYTHONPATH nicht festgelegt ist. Sie können es mit Standardlistenoperationen ändern:
>>> import sys
>>> sys.path.append('/ufs/guido/lib/python')
Beantworten Sie Ihre ursprüngliche Frage zum Abrufen und Einstellen des aktuellen Verzeichnisses:
>>> help(os.getcwd)
getcwd(...)
getcwd() -> path
Return a string representing the current working directory.
>>> help(os.chdir)
chdir(...)
chdir(path)
Change the current working directory to the specified path.
import sys sys.path.append('/home/g/PycharmProjects/your_project/')
Der einfachste Weg, das aktuelle Arbeitsverzeichnis in Python zu ändern, ist das Paket 'os'. Unten finden Sie ein Beispiel für einen Windows-Computer:
# Import the os package
import os
# Confirm the current working directory
os.getcwd()
# Use '\\' while changing the directory
os.chdir("C:\\user\\foldername")
Wenn Sie verwenden import os
können os.getcwd
, um das aktuelle Arbeitsverzeichnis abzurufen, und Sie können verwenden os.chdir
, um Ihr Verzeichnis zu ändern