2017-10-29 8 views
-1

私の現在のスクリプトから、私は親の兄弟に行きたいです。例えば、 私scriptA.pyファイルは、この例では python3ディレクトリの親を取得する方法

-DirA 
| |-ScriptA 
| 
-DirB 
    |-FileB 
    |-FileC 

ディレクトリ

内にある、私は、フォルダ構造を表現しようとしています。私はScriptAからFileB/FileCにアクセスしたいです。だから、基本的に、私はまずDirBにアクセスし、これらのディレクトリも動的に作成され、ハードコーディングされているためアクセスできません。

+0

同じファイル名を持つディレクトリがさらに存在するとどうなりますか? (そして、ファイルシステムに関して、兄弟姉妹の順序はどういうものだと思いますか?) –

+0

何を試しましたか? –

+0

@EricDuminil、私はchdirのような通常のosメソッドを試しました – iosCurator

答えて

1

あなたは、私は完全なソリューションを与えることはありませんので、あなたが任意のコードを書いていなかったos.path

import os.path 
dir_of_this_file = os.path.abspath(os.path.join(__file__, os.pardir)) 
parent_dir = os.path.abspath(os.path.join(dir_of_this_file, os.pardir)) 
dir_b = parent_dir + "/DirB" 
+0

'DirB'が分かっているかどうかは不明です。 –

+0

ああ、それは私にそのように見えた、 'glob'はその場合に動作します。 –

1

を使用して親ディレクトリを取得することができます。

glob.globはあなたを助けることができる:

from glob import glob 

print(glob('../*/*.py')) 
# ['../DirA/scriptA.py', '../DirB/scriptB.py', '../DirB/scriptC.py'] 

あなたはその後、それらのスクリプトをフィルタリングして、必要なものを選択する方法が必要です。あなたは便利かもしれないhttps://docs.python.org/3/library/os.html

機能:
os.getcwd()
os.chdir(path)は、現在のディレクトリ内のコンテンツの
os.listdir(path=None) GETリスト指定されたパスに作業ディレクトリを変更して現在の作業ディレクトリを取得、または

0

OSを見てみましょうパスを指定します。

幸運。

関連する問題