change current working directory in python

Question:

I made a folder on my desktop with the name “headfirstpython” and I need to change my current working directory to that folder and to the sub folder inside of it. I used os.getcwd() to get the current folder and it gives me ‘CPython32’. I used os.chdir(‘../headfirstpython/chapter3’) to change the directory but its telling it cannot find the path

>>> import os
>>> os.getcwd()
'C:\Python32'
>>> os.chdir('../headfirstpython/chapter 3')
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
os.chdir('../headfirstpython/chapter 3')
WindowsError: [Error 3] The system cannot find the path specified:         '../headfirstpython/chapter 3'
>>> os.chdir('../headfirstpython/chapter3')
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
os.chdir('../headfirstpython/chapter3')
WindowsError: [Error 3] The system cannot find the path specified:   '../headfirstpython/chapter3'
>>> 
Asked By: Tunafish Ha

||

Answers:

I think a few things may be helpful.

It looks like you’re on a windows system, so you should use double back slashes ‘\’ to separate the folders.

Second, if you’re trying to change to a folder within the current folder, you should use a single dot, and not two, e.g. os.chdir(‘.\folder’)

Finally, if the folder you are trying to access is not a direct subfolder of the current working directory (or otherwise in your path), you need to include the full path to access it. Since you said it’s on your desktop, you’d probably want something that looks like this:

import os
os.chdir('C:\Users\username\Desktop\headfirstpython') ## Where username is replaced with your actual username

From here, you could also change directories to the chapter3 subdirectory with the following

os.chdir('chapter3') 

Which is equivalent in this case with

os.chdir('.\chapter3')

or, if you want to be wordy:

os.chdir('C:\Users\username\Desktop\headfirstpython\chapter3')

Hopefully that helps?

Answered By: Brandon
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.