[解決済み] Jupyter Notebookに__file__が存在しない。
質問
私は今
Jupyterノートブック
サーバ (v4.2.2) で、Python 3.4.2 を使用しています。
私はグローバル名
__file__
ノートブックは他のユーザーからクローンされ、1つのセクションで実行する必要があるためです。
def __init__(self, trainingSamplesFolder='samples', maskFolder='masks'):
self.trainingSamplesFolder = self.__getAbsPath(trainingSamplesFolder)
self.maskFolder = self.__getAbsPath(maskFolder)
def __getAbsPath(self, path):
if os.path.isabs(path):
return path
else:
return os.path.join(os.path.dirname(__file__), path)
は
__getAbsPath(self, path)
は
path
パラメータが相対パスか絶対パスかを調べ、絶対バージョンの
path
. ですから、私は返された
path
を後で安全に使うことができます。
しかし、エラーが発生します。
NameError: 名前
'__file__'
が定義されていません。
このエラーについてネットで検索したところ、以下のような解決策を見つけました。
sys.argv[0]
を使用した方が良いという解決策を得ましたが
print(sys.argv[0])
は返す
/usr/local/lib/python3.4/dist-packages/ipykernel/__main__.py
しかし、正しいノートブックの位置は
/home/ubuntu/notebooks/
.
参照ありがとうございました 現在のIPythonノートブック名を取得する方法 Martijn Pieters(コメント)から最後の答え(受け入れられませんでした)は私のニーズに完全に適合します。
print(os.getcwd())
/ホーム/ubuntu/notebooks
どのように解決するのですか?
スクリプトが実行されているディレクトリのパスを取得したい場合は、この方法を使うことを強くお勧めします。
os.path.abspath('')
メリット
- Jupyter Notebookから動作する
- REPLから動作する
- Python 3.4 の pathlib を必要としない。
なお、シナリオの1つである
__file__
の利点は、ディレクトリAからpythonを起動し、ディレクトリBでスクリプトを実行している場合です。この場合、上記と他のほとんどのメソッドはBではなくAを返します。
.ipyn
を起動したディレクトリではなく、常に
jupyter notebook
.
関連
-
[解決済み] ValueError: pysparkを使用してsparkで複数のSparkContextsを同時に実行できません。
-
[解決済み] ブラウザでJupyter/ipythonノートブックのセル幅を広げるにはどうすればよいですか?
-
[解決済み] python3 UnicodeEncodeError: 'charmap' コーデックは位置 95-98 の文字をエンコードできない: 文字は <undefined> にマップされる。
-
[解決済み] python3 で cv2 をインポートするには?
-
[解決済み] python3のdateutil.parserの代わりとなるものは何ですか?
-
[解決済み] Jupyterの起動フォルダを変更する方法
-
[解決済み】Python - n+nn+nnn+nnnの値を与えられた桁をnの値として計算する方法
-
[解決済み】ローカルマシンやWebリソースから、jupyter notebookに画像や絵を埋め込むには?
-
[解決済み】Jupyter NotebookとJupyterLabの違いは何ですか?
-
[解決済み】IPython/Jupyter notebookの作業ディレクトリを変更する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】`jupyter notebook`実行時のエラー(No such file or directory)
-
[解決済み】なぜELIF Invalid Syntax Errorが発生するのでしょうか?
-
[解決済み] ValueError: Substring not found, What am I doing wrong?
-
[解決済み] エアフロースケジューラーを再起動する
-
[解決済み] 2次元リストを行と列で印刷する
-
[解決済み] sklearnのprecision_recall_fscore_supportの出力はどのように並べられるのでしょうか?
-
[解決済み] pygame: pygame.KEYDOWNが動作しない
-
[解決済み] jupyter notebook` 実行時のエラー (No such file or directory)
-
[解決済み] ImportError: libcublas.so.9.0: 共有オブジェクトファイルを開くことができない
-
[解決済み] virtualenvを削除する方法を教えてください。