web-dev-qa-db-ja.com

作業ディレクトリをPython / Spyderに設定して、再現可能にする

Rから来た場合、setwdを使用してディレクトリを変更することは、他の人が私のディレクトリ構造と同じではないため、再現性に大きな影響はありません。したがって、スクリプトの場所からの相対パスを使用することをお勧めします。

IDEは、独自の作業ディレクトリを設定するため、これを少し複雑にします。 Rstudioでは、プロジェクトのディレクトリをスクリプトフォルダーに設定して、Rstudioのプロジェクトでこの問題を簡単に回避できます。

PythonとSpyder、ソリューションはないようです。SpyderにはRstudioのプロジェクトのような機能はありません。 ディレクトリをスクリプトの場所に設定する はありませんインタラクティブな分析をしながら作業する(__file__ 利用できません)。

Python/Spyderが再現可能になるように、作業ディレクトリを作成するにはどうすればよいですか?

12
Heisenberg

これを自動的に行うには、スクリプトの先頭にこれを配置します。

from os import chdir, getcwd
wd=getcwd()
chdir(wd)
7
OSagnostic

その間、os.chdirを使用できます

import os
os.chdir('C:\Users\me\Documents')
4
NinComPoop

彼らはこれをこのGitHubチケットに基づいたSpyderの機能と考えていたようですが、5月中旬にはまだ実装を待っています:

[実行]ダイアログにオプションを追加して、スクリプトを実行しているディレクトリに作業ディレクトリを自動的に設定できます。

ただし、他の誰かがそれを実装する必要があります。現時点では、他のことに忙しくしています。申し訳ありません。

https://github.com/spyder-ide/spyder/issues/3154

ccordoba12が5月14日にウィッシュリストのマイルストーンにこれを追加しました

2
Hack-R

私はこれを試してみましたが、うまくいきます。

import os
abspath = os.path.abspath('') ## String which contains absolute path to the script file
os.chdir(abspath) ## Setting up working directory
2
Wojciech Pawlik

さて、あなたが試すことができることはたくさんあります! 1.ディレクトリをツールバーの現在のディレクトリに変更します。 2. [設定]> [グローバル作業ディレクトリ]で、グローバルディレクトリを現在のディレクトリに変更します。 「現在のファイルディレクトリ」ラジオボタンをクリックします。

それが役に立てば幸い!

0
Akash Mantry