web-dev-qa-db-ja.com

pythonで1つのフォルダに戻る方法

実際にいくつかのパスに行き、いくつかのコマンドを実行する必要があります。以下はコードです

コード

_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'_、

しかし、2番目の場合は、あるフォルダーに戻ってファイルを実行する必要があります

_'/home/Desktop/folder/nodes'
_

だから誰も私に1つのフォルダをPythonで戻す方法を教えてもらえますか

シェルで行うように。

os.chdir("../nodes")
35
Alex

これは、プラットフォームに依存しない方法です。

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またはそれを使用して何でもできます。

21
chimpsarehungry

電話するだけ

os.chdir('..')

他の言語と同じ:)

19
moopet

絶対パスの使用を検討する

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

一般に、

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

sub-folder1からsub-folder2に移動するには、「../sub-folder1/」のように記述する必要があります

0