web-dev-qa-db-ja.com

PyCharmの現在の作業ディレクトリ

最近、PyCharmの使用中にコード内で相対パスを使用できなくなりました。例えば、単純なopen('test.txt', 'r')は動作しません-その結果、実行中のpyファイルと同じレベルにファイルが存在することを確信しています。 PyCharmはこのエラーを返します。

FileNotFoundError:[Errno 2]そのようなファイルまたはディレクトリはありません:

StackOverflowでオンラインで回答を読んだ後、次のような複数のオプションを試しました。

  • test.txt./test.txtに変更
  • プロジェクトを閉じ、.ideaフォルダーを削除して、コードでフォルダーを開きます。
  • 再インストールおよび最新バージョンのPyCharmのインストール。
  • キャッシュを無効にして再起動します。

これらのオプションはどれも役に立たなかった。 PyCharmに現在の作業ディレクトリを更新するように(または現在の作業ディレクトリがどこにあると思われるかを見るために)伝えることができますか?

前もって感謝します!

編集:ターミナルウィンドウでスクリプトを実行すると動作することに注意してください。これは、スクリプトではなくPyCharmの問題のようです。

24
qwertyuip9

私はPycharm 4.5を持っているので、状況は少し変わったかもしれません。

[設定]> [プロジェクト]> [プロジェクト構造]に移動してください

このダイアログで、ソースコードが含まれているフォルダーをクリックし、メニューの青いフォルダーをクリックして、「ソース」フォルダーとして記録します。私はこれがPycharmのパスの問題の多くを修正すると信じています

「コンテンツルート」へのリンクは次のとおりです。 https://www.jetbrains.com/pycharm/help/content-root.html

26
Dan

変更:「実行」>「構成の編集」>「作業ディレクトリ」。特定のプロジェクトの作業ディレクトリを設定します。 (これはMac上にあります)

39
andere

__file__ はファイルパスを指します。したがって、次を使用して同じディレクトリ内のファイルを参照できます。

import os

dirpath = os.path.dirname(__file__)
filepath = os.path.join(dirpath, 'test.txt')
open(filepath, 'r')
4
falsetru

PyCharmで、「構成の実行/編集...」をクリックします

次に、「Python」ドロップダウンメニューでスクリプトファイルを見つけます。 「作業ディレクトリ」エントリを確認し、必要に応じて変更します。

2
BeneIT

私も数分前に同じ問題を抱えていました...しかし、PyCharmの最新バージョンでは、そのファイルの相対パスを使用するだけで解決されます。たとえば、単純なf = open( 'test'、 'r' ) 動作します。

0
user9203442

現行版 2019.2何らかの形で「プロジェクト構造」から「ソースルート」を無視します。実際に強制する方法は次のとおりです。

実行->構成の編集-> Python-> "テンプレートの編集" this buttin ->「作業ディレクトリ」に記入します

0
Ufos

時々違う。 Pycharmのツールバーで[実行]をクリックしてから[構成の編集...]をクリックして問題を解決し、インタープリターを別の実際のインタープリターに変更しました。設定でそれを変更するだけでは役に立ちませんが、この操作はすでに役に立ちます;)

0
Fioletibiel

Macユーザー向けに少し説明。 Macでは、上記の@andereが作業ディレクトリを設定するのに適しています。ただし、コードが別のフォルダーにある場合は、working_dir/src/(従来のJava/scalaファイル構造のように)その場合、ソースルートを設定する必要があります。 MacのPyCharmでは、src/ folder> [ディレクトリをマーク]> [ソースルート]。同様の多くのインポートの問題を助けてくれました。これが誰かを助けることを願っています。

0
mithunpaul