python
  • python-3.x
  • 2017-08-29 7 views 0 likes 
    0

    私はPDFを作成し、スクリプトが保存されているフォルダのサブフォルダに保存するpythonスクリプトを持っています。私は、サブフォルダにファイルを保存し、次のを持っている:os.path.joinの部分パスを指定する

    outfilename = "Test" + ".pdf" #in real code there is a var that holds the name of the file 
    outfiledir = 'C:/Users/JohnDoe/Desktop/dev/PARENTFOLDER/SUBFOLDER/' #parent folder is where the script is - subfolder is where the PDFs get saved to 
    outfilepath = os.path.join(outfiledir, outfilename) 
    

    は、私は完全なパスを指定しなくても、サブフォルダにPDFファイルを保存することができます方法はありますか?私はこのスクリプトを複数のコンピュータが使用できるexeにしたかったと言いますが、PDFをサブフォルダに保存するだけでパスをどのように表示するのでしょうか?

    ありがとうございます!

    +0

    私は通常、スクリプトが出力ディレクトリに渡す(コマンドラインを介して、または設定ファイルのいずれか)の引数を取る必要があります。何かのように: は 'のpython -o /パス//outdir' https://docs.python.org/3/library/argparse.html –

    答えて

    4

    はそれを試してみてください。

    import os 
    dir_name = os.path.dirname(os.path.abspath(__file__)) + '/subdir' 
    path = os.path.join(dir_name, 'filename') 
    
    +0

    ビューティフルに、魅力のように働きました! – GreenSaber

    +0

    'os.path.abspath(__ file __)'部分が何をしているのか説明してください。 – GreenSaber

    +0

    もちろん、 '__file__'はモジュール属性で、このモジュールにパスを保存しました。 – AndMar

    関連する問題