如何在Python中移回一个文件夹

问题描述 投票:0回答:8

实际上需要走一些路径并执行一些命令,下面是代码

代码

import os
present_working_directory = '/home/Desktop/folder' 

目前我在

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 directory

实际上这里发生的事情是当我第一次使用时

os.chdir()
目录已更改为

'/home/Desktop/folder/nodes/hellofolder'

但对于第二个,我需要通过移动到一个文件夹来运行文件,即

'/home/Desktop/folder/nodes'

那么任何人都可以让我如何在 python 中将一个文件夹移回

python operating-system
8个回答
62
投票

就像在外壳中一样。

os.chdir("../nodes")

53
投票

这是一种非常独立于平台的方法。

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/'

然后你就有了路径,你可以用它进行 chdir 或其他任何操作。


34
投票

只需致电

os.chdir('..')

与任何其他语言相同:)


6
投票

您问题的确切答案是
os.chdir('../')

使用案例:

Folder1:
    sub-folder1:(you want to navigate here)
Folder2:
    sub-folde2:(you are here)

要从

sub-folder1
导航到
sub-folder2
,你需要这样写 “
../Folder1/sub-folder1/

然后,放入

os.chdir("../Folder1/sub-folder1/")


2
投票

考虑使用绝对路径

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()

2
投票

上面提到的答案都是正确的。以下更多的是当 Python 脚本位于嵌套目录中时通常会发生的情况。您想从当前工作目录上一级,也许加载一个文件。

这个想法是简单地重新格式化路径字符串并在其前面加上“../”前缀。举个例子。

'../current_directory/' + filename

此格式与在终端中使用时类似。每当有疑问时,请启动终端并尝试一些命令。格式反映在编程语言中。


1
投票

这个命令解决了我的问题 首先

import os
和之后添加
os.path.normpath(os.path.abspath(__file__) + os.sep + os.pardir)


0
投票

在脚本中定义此函数,并在您想仅返回一个文件夹时调用它:

import os

def dirback():
    m = os.getcwd()
    n = m.rfind("\\")
    d = m[0: n+1]
    os.chdir(d)
    return None
© www.soinside.com 2019 - 2024. All rights reserved.