PyCharm current working directory

Recently, I’m unable to use relative paths in my code while using PyCharm. For instance, a simple open('test.txt', 'r') will not work – whereupon I am sure the file exists in the same level as the running py file. PyCharm will return this error.

FileNotFoundError: [Errno 2] No such file or directory:

After reading answers online on StackOverflow, I have tried multiple options including:

  • Changing test.txt to ./test.txt
  • Closing project, deleting the .idea folder, open the folder with code.
  • Reinstalling as well as installing the latest version of PyCharm.
  • Invalidating caches and restarting.

None of these options have worked for me. Is there someway I can tell PyCharm to refresh the current working directory (or even to see where it thinks the current working directory is)?

Thanks in advance!

Edit: I should note that running the script in a terminal window will work. This appears to be a problem with PyCharm and not the script.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Change:
Run > Edit Configurations > Working directory,
which sets the working directory for a specific project. (This is on a Mac)

Method 2

I have Pycharm 4.5, so things might have changed a bit.

Try going to Settings > Project > Project Structure

On this dialog, click your folder that has the source code in it, and then click the blue folder in the menu to note it as “source” folder. I believe this fixes a lot of the path issues in Pycharm

Here is the link to “content roots”: https://www.jetbrains.com/pycharm/help/content-root.html

Method 3

Current version 2019.2 somehow ignores “source root” from the “project structure”. Here’s how to actually enforce it:

Run -> Edit Configurations -> Python -> “Edit Templates” this buttin -> fill out “Working Directory”

Method 4

__file__ refers to file path. So you can use the following to refer file in the same directory:

import os

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

Method 5

In PyCharm, click on “run/edit configurations…”

Then find your script file in the “Python” dropdown menu. Check the “Working Directory” entry and change it if necessary.

Method 6

Sometimes it is different. I solved my problem by clicking “Run” at the Pycharm’s toolbar and then “Edit Configurations…” and I change my Interpreter to another actual one. Just changing it in the settings does not help, but this opperation already does 😉

Method 7

I too had the same issue few minutes ago…but,with the latest version of PyCharm it is resolved by simply using the relative path of that file..
For instance, a simple f = open(‘test’, ‘r’) will work.

Method 8

A little clarification for mac users. In mac, what @andere said above is correct for setting working directory. However, if your code is in a different folder, say working_dir/src/ (like classic java/scala file structure) in that case you still need to set your Sources Root. In mac’s PyCharm this can be done by right clicking on the src/ folder > Mark Directory as > Sources Root. Helped me with lot of similar import issues. Hope this helps someone.

Method 9

EXACT ANSWER TO SOLVE THIS ISSUE ,,

  1. GO TO EDIT CONFIGURATION (just LEFT side of GREEN CODE RUNNER ICON)
  2. click on python (not any specific python script) ONLY SELECT PYTHON
  3. then below right side click on [edit configuration templetes]
  4. select current working dir by going into those blocks
  5. It will change the CWD of all python file that exists in project folder..
    then all file will understand the RELATIVE PATH that starts from your actual project name..

i hope this will resolve all your issue related path.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x