22

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

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

Python と Spyder では、解決策はないようです。Spyder には Rstudio のプロジェクトのような機能はありません。スクリプトの場所へのディレクトリの設定は、対話型分析の実行中は機能しません (__file__使用できないため)。

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

4

6 に答える 6

7

暫定的に、os.chdir を使用できます。

import os
os.chdir('C:\Users\me\Documents')
于 2017-01-05T08:25:40.547 に答える
2

私がここに書いたように、Mark8888は、スクリプトの一部だけではなく、スクリプト全体を実行する (ファイルを実行 (F5)) ことを指摘しました。

このように、複数の方法でスクリプト ファイルの場所を取得し、現在の作業ディレクトリを変更する必要があります。

import os
# directory of script file
print(os.path.abspath(os.path.dirname(__file__)))
# change current working directory
os.chdir(os.path.abspath(os.path.dirname(__file__)))
# current working directory
print(os.getcwd())

また

import os
import sys
# directory of script file
print(os.path.abspath(os.path.dirname(sys.argv[0])))
# change current working directory
os.chdir(os.path.abspath(os.path.dirname(sys.argv[0])))
# current working directory
print(os.getcwd())
于 2021-04-17T15:15:44.310 に答える