2016-04-20 9 views
0

Ich schreibe ein Python-Skript, um Benutzereingaben zu nehmen und Verzeichnis zu erstellen und zu einem neuen Verzeichnis zu wechseln. Allerdings, wenn ich os.chdir() aufrufen und os.getcwd() funktioniert nicht wie erwartet. (Mac OS - Linux)os.chdir() funktioniert nicht in mac

Gibt es entspricht os.chdir()

#!/usr/bin/env python 

import os 
import sys 

# Create a directory 
directoryName = raw_input('Enter new directory name: ') 
cmdToExecute = 'mkdir ' + directoryName 
print cmdToExecute 
os.popen(cmdToExecute) 

# Change Directory 
directoryPath = os.getenv('PWD') 
directoryPath = directoryPath + '/' + directoryName 
os.chdir(directoryPath) 
+1

Sie sind nicht zu DirectoryPath ändern, sondern versuchen, zu cmdToExecute – frlan

+0

Als Neben Kommentar gibt es auch 'os.mkdir' , wenn Sie vermeiden wollten, einen externen 'mkdir' Befehl aufzurufen –

Antwort

3

ersetzen

os.chdir(cmdToExecute) 

mit:

os.chdir(directoryPath) 

Sie os.path.join zum Verbinden verwenden können Pfade:

das funktioniert auf meinem System fein:

import os 
import sys 

# Create a directory 
directoryName = raw_input('Enter new directory name: ') 
cmdToExecute = 'mkdir ' + directoryName 
print cmdToExecute 
os.popen(cmdToExecute) 

# Change Directory 
directoryPath = os.getenv('PWD') 
directoryPath = os.path.join(directoryPath, directoryName) 
os.chdir(directoryPath) 
print os.getcwd() 

Ausgang:

Beagle:titanic_machine_learning kumarshubham$ python test.py 
Enter new directory name: test 
mkdir test 
/Users/kumarshubham/titanic_machine_learning/test 
+0

Entschuldigung. Ich verwende os.chdir (directoryPath) – user1118142

+0

@ user1118142chek mein Update – Hackaholic

+0

Sind Sie diese Befehle auf Windows oder Mac ausgeführt. Weil ich mit dem Problem nur mit Mac – user1118142

Verwandte Themen