2016-07-19 20 views
-4

Ich habe den folgenden Code-Schnipsel und die Funktion chdir nicht zu funktionieren scheint ..Python: os.chdir funktioniert nicht in Python?

cwd_path = os.getcwd() 
print("CWD: " + cwd_path) 
changed = os.chdir(r"C:/CISCO/PYTHON/My_Learning/prank") 
print(changed) 

Die unten ist die Ausgabe:

CWD C:\CISCO\PYTHON\My_Learning 
None 
+5

Soweit ich bekommen weiß, dass os.chdir keine Ausgabe hat, also keine. Es wird also das Verzeichnis geändert haben, es wird nichts gedruckt. Wenn Sie ein anderes os.getcwd() versuchen, nachdem Sie das Verzeichnis geändert haben, sollten Sie es tun. –

+2

Warum schließen Sie, dass das nicht funktioniert hat? Es ist nicht dokumentiert, etwas zurückzugeben, was hast du erwartet zurück zu bekommen? – jonrsharpe

+0

['os.chdir'] (https://docs.python.org/3/library/os.html#os.chdir) gibt nichts zurück. –

Antwort

1

Wie Sie here lesen os.chdir Keine kehrt in allen Fällen.

+1

Das Posten eines Links ist keine Antwort. –

+0

@FullName Das ist nicht * nur * ein Link. Es ist die Antwort ('os.chdir' gibt in allen Fällen' None') mit einem Link als Referenz zurück. Allerdings ist es sicherlich keine sehr gute Antwort, da 1) keine korrekte Formatierung hat. 2) Links zu externen Quellen anstelle der offiziellen Python-Dokumentation. 3) Verwendet * hier * als Linkanker. In jedem Fall * ist es eine Antwort *. – Bakuriu

1

os.chdir gibt None zurück.

In diesem Fall sollten Sie changed als Flag gesetzt, dass wenn das aktuelle Verzeichnis überprüft ist der gleiche wie der letzte:

cwd_path = os.getcwd() 
os.chdir(r"C:/CISCO/PYTHON/My_Learning/prank") 
changed = (cwd_path != os.getcwd()) 
print(changed) 
# True 
0

os.chdir Ihnen nichts zurückgibt zurück. Wenn Sie sehen möchten, in welchem ​​Verzeichnis Sie sich befinden, möchten Sie os.getcwd. Z.B.

print(os.getcwd()) 
os.chdir('/') 
print(os.getcwd()) 

Ausgaben etwas wie;

 
/my/home 
/
0

os.chdir keinen Ausgang, müssen Sie eine os.chdir machen(), dann machen:

changed = os.getcwd() 

auf diese Weise das neue Verzeichnis