38

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

コード:

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番目のものについては、1つのフォルダーに戻ってファイルを実行する必要があります

'/home/Desktop/folder/nodes'

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

4

8 に答える 8

53

シェルで行うのと同じように。

os.chdir("../nodes")
于 2012-09-05T11:13:04.823 に答える
44

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

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などを使用できます。

于 2013-07-18T14:51:23.940 に答える
31

電話するだけ

os.chdir('..')

他の言語と同じです:)

于 2012-09-05T11:13:20.080 に答える
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()
于 2012-09-05T11:20:41.207 に答える