2016-04-14 7 views
0

私は友達の運動生成アルゴリズムを作っていましたが、問題を見つけました。これはPythonプログラムであり、プログラムの場所の上にあるディレクトリにフォルダを生成したい(Pythonファイルは 'C:\ Documents \ foo'にあり、フォルダは 'C:\ Documents' ')、プログラムが作成したファイルを保存することができます。これを行う方法はありますか、他に何か試してみるべきですか?ファイルのディレクトリを作成する

答えて

0

Windows環境ではPythonに精通していませんが、これは簡単に実行できます。見て分かるかもしれない同様の質問があります:How to check if a directory exists and create it if necessary?

あなたが探しているように見えるかもしれません。

from pathlib import Path 
path = Path("/my/directory/filename.txt") 
try: 
    if not path.parent.exists(): 
     path.parent.mkdir(parents=True) 
except OSError: 
    # handle error; you can also catch specific errors like 
    # FileExistsError and so on. 
+0

私はかなりそれを得ることはありませんが、私はそれに見てするつもりです。私はこのライブラリが存在することさえ知りませんでした!ありがとう! – D4rkM4sterBR

2

os.mkdir()functionのパス引数を使用します。

現在のスクリプトディレクトリを取得するのは組み込み機能ではありませんが、複数のハックがあります(here)。

現在のスクリプトディレクトリを取得したら、それに基づいてパスを構築できます。

+0

osモジュールが機能しました!ありがとうございました! (また、現在のディレクトリを見つけるには、os.getcwdを使うことができます) – D4rkM4sterBR

+1

@ D4rkM4sterBR、スクリプトディレクトリとプロセスの現在のディレクトリを混同しないように答えを編集しました。あなたは 'os.getcwd'を望んでいません。リンクされた質問を参照してください。 – eryksun

+0

os.getcwd文字列をリストに分割して逆にして、最後の項目(現在のフォルダ)を削除し、再度逆にして結合して、上位のフォルダを取得することができました。それも動作します。 – D4rkM4sterBR

0

は説明としてPython 2.7.8で勝利7上で動作しているように見えます:

import os.path 

createDir = '\\'.join((os.path.abspath(os.path.join(os.getcwd(), os.pardir)), 'Foo')) 

if not os.path.exists(createDir): 
    os.makedirs(createDir) 
関連する問題