FileNotFoundError: No such file or directory
This error matches known, documented patterns with reliable solutions.
Quick Fix (Most Common Solution)
- Use absolute path with os.path.abspath()
- Check current directory with os.getcwd()
Seeing "FileNotFoundError: No such file or directory"? This error can be frustrating, but it's usually fixable. It typically affects your development workflow or system. Below you'll find clear, step-by-step solutions to resolve this issue.
What This Error Means
Python cannot find the file or directory at the specified path.
Frequently documented in developer and vendor support forums.
Not affiliated with browser, OS, or device manufacturers.
New here? Learn why exact error messages matter →
Common Causes
- Wrong file path
- File was moved or deleted
- Relative vs absolute path issue
How to Fix
- Use absolute path with os.path.abspath()
- Check current directory with os.getcwd()
- Verify file exists with os.path.exists()
Last reviewed: April 2026 How we review solutions
Environment Differences
Working Directory Mismatches Between Scripts, IDEs, and Cron Jobs
python script.py) run with the calling shell's current directory as os.getcwd(). Scripts executed through IDEs, cron jobs, or imported as modules inherit whatever directory the parent process used. A path like open('data/input.csv') only works if the process's current directory contains a data/ folder — true when running from the project root, false when called from elsewhere.
The portable fix is to build paths relative to the script file itself using __file__: os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data', 'input.csv'). This works regardless of launch directory because __file__ is the absolute path of the script itself. The modern equivalent using pathlib: pathlib.Path(__file__).parent / 'data' / 'input.csv'.
In VS Code, the debugger's cwd setting in .vscode/launch.json controls where the Python process runs, while the integrated terminal uses the workspace root — these can differ. For notebooks, %pwd (IPython magic) shows the notebook's working directory, which may not be where you expect. Using os.getcwd() as a debug print at the top of your script immediately reveals which directory Python considers current, eliminating guesswork about relative path failures.Optional follow-up
Some users ask whether saving fixes for recurring errors would be useful when the same issue appears again.
Was this explanation helpful?
Frequently Asked Questions
What is current working directory?
The directory Python runs from - check with os.getcwd().
How do I use relative paths safely?
Use __file__ to get script location and build paths from there.
Related Resources
Also Known As
- Python exception
- Python traceback
- Python runtime error
- Python crash
Common Search Variations
- "python error fix"
- "python script not working"
- "python traceback what does it mean"
- "how to fix python exception"
- "python crash on startup"
- "python import error solution"
Related Errors
Still Stuck?
Paste a different error message or upload a screenshot to get help instantly.