Actually need to go some path and execute some command and below is the code
code:
import os present_working_directory = '/home/Desktop/folder'presently i am in folder
if some_condition == true : change_path = "nodes/hellofolder" os.chdir(change_path) print os.getcwd() if another_condition == true: change_another_path = "nodes" os.chdir(change_another_path) print os.getcwd() **Result**: '/home/Desktop/folder/nodes/hellofolder' python: [Errno 1] No such file or directoryActually whats happening here is when i first used os.chdir() the directory has changed to
'/home/Desktop/folder/nodes/hellofolder',
but for the second one i need to run a file by moving to one folder back that is
'/home/Desktop/folder/nodes'So can anyone let me how to move one folder back in python
asked Sep 5, 2012 at 11:10
2
Just like you would in the shell.
os.chdir("../nodes")answered Sep 5, 2012 at 11:13
0
Here is a very platform independent way to do it.
In [1]: os.getcwd() Out[1]: '/Users/user/Dropbox/temp' In [2]: os.path.normpath(os.getcwd() + os.sep + os.pardir) Out[2]: '/Users/user/Dropbox/'Then you have the path, and you can chdir or whatever with it.
answered Jul 18, 2013 at 14:51
chimpsarehungrychimpsarehungry
1,6152 gold badges17 silver badges28 bronze badges
2
Just call
os.chdir('..')the same as in any other language :)
answered Sep 5, 2012 at 11:13
moopetmoopet
5,8841 gold badge30 silver badges35 bronze badges
1
Exact answer for your question is os.chdir('../')
Use case:
Folder1: sub-folder1:(you want to navigate here) Folder2: sub-folde2:(you are here)To navigate to sub-folder1 from sub-folder2, you need to write like this "../Folder1/sub-folder1/"
then, put it in os.chdir("../Folder1/sub-folder1/").
answered May 11, 2019 at 18:30
think about using absolute paths
import os pwd = '/home/Desktop/folder' if some_condition == true : path = os.path.join(pwd, "nodes/hellofolder") os.chdir(path) print os.getcwd() if another_condition == true: path = os.path.join(pwd, "nodes") os.chdir(path) print os.getcwd()answered Sep 5, 2012 at 11:20
My problem was fixed with this command first import os and after add os.path.normpath(os.path.abspath(__file__) + os.sep + os.pardir)
answered Nov 7, 2019 at 17:46
The answers mentioned above are correct. The following is more a It usually happens when your Python script is in a nested directory and you want to go one level up from the current working directory to maybe let's say load a file.
The idea is to simply reformat the path string and prefix it with a '../'. So an example would be.
'../current_directory/' + filenameThis format is similar to when used in a terminal. Whenever in doubt fire up a terminal and experiment with some commands. The format is reflected in the programming language.
answered May 11, 2020 at 7:27
Define this function in your script and call it whenever you want to go back just by one folder:
import os def dirback(): m = os.getcwd() n = m.rfind("\\") d = m[0: n+1] os.chdir(d) return Noneanswered Feb 11 at 12:54