Rから来た場合、setwd
を使用してディレクトリを変更することは、他の人が私のディレクトリ構造と同じではないため、再現性に大きな影響はありません。したがって、スクリプトの場所からの相対パスを使用することをお勧めします。
IDEは、独自の作業ディレクトリを設定するため、これを少し複雑にします。 Rstudioでは、プロジェクトのディレクトリをスクリプトフォルダーに設定して、Rstudioのプロジェクトでこの問題を簡単に回避できます。
PythonとSpyder、ソリューションはないようです。SpyderにはRstudioのプロジェクトのような機能はありません。 ディレクトリをスクリプトの場所に設定する はありませんインタラクティブな分析をしながら作業する(__file__
利用できません)。
Python/Spyderが再現可能になるように、作業ディレクトリを作成するにはどうすればよいですか?
これを自動的に行うには、スクリプトの先頭にこれを配置します。
from os import chdir, getcwd
wd=getcwd()
chdir(wd)
その間、os.chdirを使用できます
import os
os.chdir('C:\Users\me\Documents')
彼らはこれをこのGitHubチケットに基づいたSpyderの機能と考えていたようですが、5月中旬にはまだ実装を待っています:
[実行]ダイアログにオプションを追加して、スクリプトを実行しているディレクトリに作業ディレクトリを自動的に設定できます。
ただし、他の誰かがそれを実装する必要があります。現時点では、他のことに忙しくしています。申し訳ありません。
https://github.com/spyder-ide/spyder/issues/3154
ccordoba12が5月14日にウィッシュリストのマイルストーンにこれを追加しました
私はこれを試してみましたが、うまくいきます。
import os
abspath = os.path.abspath('') ## String which contains absolute path to the script file
os.chdir(abspath) ## Setting up working directory
さて、あなたが試すことができることはたくさんあります! 1.ディレクトリをツールバーの現在のディレクトリに変更します。 2. [設定]> [グローバル作業ディレクトリ]で、グローバルディレクトリを現在のディレクトリに変更します。 「現在のファイルディレクトリ」ラジオボタンをクリックします。
それが役に立てば幸い!