モジュールが呼び出されている場所から現在のパスを取得する

user266003

自分で作成したPythonモジュールがあり、にあり/usr/local/lib/python3.4/site-packages/my_module1ます。モジュールにはこれがあります:

class Class1(object); 
  def __init__(self, file_name):
    self.file_name = file_name # how can I get the full path of file_name?

どうすればいっぱいになりfile_nameますか?つまり、パスのない単なるファイル名の場合は、モジュールが呼び出されている現在のフォルダー追加しますそれ以外の場合は、ファイル名をフルパスとして扱います。

# /users/me/my_test.py
  from module1 import Class1
  c = Class1('my_file1.txt') # it should become /users/me/my_file1.txt
  c1 = Class1('/some_other_path/my_file1.txt') # it should become /some_other_path/my_file1.txt/users/me/my_file1.txt
ジェームズミルズ

更新:それについては申し訳ありません。私はあなたの質問を読み間違えました。あなたがする必要があるのはそう渡すfilenameことだけos.path.abspath()です。

例:

import os

filename = os.path.abspath(filename)

あなたの2番目のケース(私はかなり奇妙だと思います)に対応するには:

import os

if os.path.isabs(filenaem):
    filename os.path.join(
        os.path.join(
            filename,
            os.getcwd()
        ),
        os.path.basename(filename)
    )

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

モジュールを変更すると、そのモジュールを別のモジュールから呼び出す場合に参照が更新されるのに、それ自体から呼び出す場合は更新されないのはなぜですか?

分類Dev

umongoのオブジェクトドキュメントモデルをメインのWebアプリから分離する方法、またはドキュメントモデルが定義されている場所で@ instance.registerを呼び出さないようにする方法は?

分類Dev

モジュールがインポートされる前に、関数がモジュールから呼び出されています

分類Dev

関数が呼び出された場所から階層スコープを取得する

分類Dev

Perlモジュールがテスト内から呼び出されているかどうかはどうすればわかりますか?

分類Dev

含まれているモジュールで呼び出し元のモジュール名を取得するにはどうすればよいですか?

分類Dev

別の関数から呼び出されたモジュール関数をスタブ化する方法

分類Dev

で定義されているモジュールとは異なるモジュールからpuppet関数を呼び出す方法

分類Dev

呼び出された関数の場所から親要素を取得する

分類Dev

別のパス/ディレクトリにインストールされているPerlモジュールを呼び出す

分類Dev

呼び出されない場合にIO.putsがモジュール内の端末に出力する理由

分類Dev

VIMが呼び出された場所へのパスを変更する

分類Dev

テストファイルがモジュールとして定義されている場合、スタックで呼び出されたhspec定義のテストはエラーをスローします

分類Dev

モジュールの外部でメソッドがどのように呼び出されているか

分類Dev

res.render()が呼び出されるファイルの場所に基づいてExpressビューフォルダを変更します

分類Dev

モジュールの外部から関数を呼び出す-引数が正しく渡されない

分類Dev

Chromeの開発ツールの使用-javascript関数が呼び出されている場所を見つける

分類Dev

Rubyに含まれているいくつかのモジュールの「初期化」を呼び出す

分類Dev

呼び出されたモジュール内からインスタンス変数を更新するにはどうすればよいですか?

分類Dev

R特定のパッケージから特定の関数内でカスタム関数が呼び出されていることを確認する方法

分類Dev

使用ステートメントがないにもかかわらず、Perlモジュールの関数呼び出しが実行される

分類Dev

モジュールから関数を呼び出すだけのときに、モジュールの上部にあるパッケージがインポートされますか?

分類Dev

Nodeで関数が呼び出される場所のファイル名と行番号を取得するにはどうすればよいですか?

分類Dev

NANを使用するNode.jsのC ++モジュールでSetAccessor関数が呼び出されない

分類Dev

スクリプトタグが呼び出されている場所を取得する方法はありますか?

分類Dev

別のファイルからプリコンパイルされたモジュールを呼び出す

分類Dev

PowerShellモジュール関数がC#アプリケーションによって呼び出されたのか、コマンドラインから呼び出されたのかを確認するにはどうすればよいですか?

分類Dev

コントローラからモデルメソッドを呼び出す「非オブジェクトのメンバー関数を呼び出す...」が、ビューから呼び出されると機能します

分類Dev

Scala:どの暗黙のパラメーターが優先されますか?メソッドが定義されている場所で宣言されたもの?または、メソッドが呼び出される場所はどこですか?

Related 関連記事

  1. 1

    モジュールを変更すると、そのモジュールを別のモジュールから呼び出す場合に参照が更新されるのに、それ自体から呼び出す場合は更新されないのはなぜですか?

  2. 2

    umongoのオブジェクトドキュメントモデルをメインのWebアプリから分離する方法、またはドキュメントモデルが定義されている場所で@ instance.registerを呼び出さないようにする方法は?

  3. 3

    モジュールがインポートされる前に、関数がモジュールから呼び出されています

  4. 4

    関数が呼び出された場所から階層スコープを取得する

  5. 5

    Perlモジュールがテスト内から呼び出されているかどうかはどうすればわかりますか?

  6. 6

    含まれているモジュールで呼び出し元のモジュール名を取得するにはどうすればよいですか?

  7. 7

    別の関数から呼び出されたモジュール関数をスタブ化する方法

  8. 8

    で定義されているモジュールとは異なるモジュールからpuppet関数を呼び出す方法

  9. 9

    呼び出された関数の場所から親要素を取得する

  10. 10

    別のパス/ディレクトリにインストールされているPerlモジュールを呼び出す

  11. 11

    呼び出されない場合にIO.putsがモジュール内の端末に出力する理由

  12. 12

    VIMが呼び出された場所へのパスを変更する

  13. 13

    テストファイルがモジュールとして定義されている場合、スタックで呼び出されたhspec定義のテストはエラーをスローします

  14. 14

    モジュールの外部でメソッドがどのように呼び出されているか

  15. 15

    res.render()が呼び出されるファイルの場所に基づいてExpressビューフォルダを変更します

  16. 16

    モジュールの外部から関数を呼び出す-引数が正しく渡されない

  17. 17

    Chromeの開発ツールの使用-javascript関数が呼び出されている場所を見つける

  18. 18

    Rubyに含まれているいくつかのモジュールの「初期化」を呼び出す

  19. 19

    呼び出されたモジュール内からインスタンス変数を更新するにはどうすればよいですか?

  20. 20

    R特定のパッケージから特定の関数内でカスタム関数が呼び出されていることを確認する方法

  21. 21

    使用ステートメントがないにもかかわらず、Perlモジュールの関数呼び出しが実行される

  22. 22

    モジュールから関数を呼び出すだけのときに、モジュールの上部にあるパッケージがインポートされますか?

  23. 23

    Nodeで関数が呼び出される場所のファイル名と行番号を取得するにはどうすればよいですか?

  24. 24

    NANを使用するNode.jsのC ++モジュールでSetAccessor関数が呼び出されない

  25. 25

    スクリプトタグが呼び出されている場所を取得する方法はありますか?

  26. 26

    別のファイルからプリコンパイルされたモジュールを呼び出す

  27. 27

    PowerShellモジュール関数がC#アプリケーションによって呼び出されたのか、コマンドラインから呼び出されたのかを確認するにはどうすればよいですか?

  28. 28

    コントローラからモデルメソッドを呼び出す「非オブジェクトのメンバー関数を呼び出す...」が、ビューから呼び出されると機能します

  29. 29

    Scala:どの暗黙のパラメーターが優先されますか?メソッドが定義されている場所で宣言されたもの?または、メソッドが呼び出される場所はどこですか?

ホットタグ

アーカイブ