2017-10-13 6 views
0

別のディレクトリにあるファイルを開く必要のあるPythonスクリプトがありますが、2つのディレクトリは共通の親を共有していますが、親がどこにあり、複数のOSで動作する必要があるかはわかりません。隣接するディレクトリのファイルを開く

-Parent 
    -dir1 
     -file.txt 
    -dir2 
     -script.py 

私は別の答えから試してみましたが、それは仕事をdoesntの:

import os.path 
current_path = os.path.dirname(__file__) 
file_path = os.path.relpath('..\\Parent\\dir1\\file.txt', current_path) 
with open(file_path, 'rb') as afile: 

しかし、私はちょうどパスありえないが、(Linux上で、この場合には)認識していることを得ます。

答えて

1

私たちははos.pathを使用する必要があり、複数のOSを実行するために。 以下のコードでは、任意のディレクトリからスクリプトを実行できます。

import os 
script_path = os.path.realpath(__file__) 
parent_path = os.path.dirname(script_path) 
file_path = os.path.join(os.path.sep,parent_path,"dir1","file1.txt") 

print file_path 
0

方法についてos.chdir

os.chdir("../dir2") 
0

OK私は、LinuxとWindowsの

import os.path 
current_path = os.path.dirname(__file__) 
file_path = os.path.abspath(os.path.join(current_path, "..", "dir1", "file.txt")) 
with open(file_path, 'rb') as afile: 
に機能するソリューションを見つけました
関連する問題