Issue
Synopsis: How do I read a file in Python? why must it be done this way?
My problem is that I get the following error:
Traceback (most recent call last):
File "C:\Users\Terminal\Desktop\wkspc\filetesting.py", line 1, in <module>
testFile=open("test.txt")
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
Which originates from the following code: (that is the entire '.py' file)
testFile=open("test.txt")
print(testFile.read())
"test.txt" is in the same folder as my program. I'm new to Python and do not understand why I am getting file location errors. I'd like to know the fix and why the fix has to be done that way.
I have tried using the absolute path to the file, "C:\Users\Terminal\Desktop\wkspc\test.txt"
Other details:
"Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit (Intel)] on win32"
Windows 7, 32 Bit
Solution
Since you are using IDLE(GUI) the script may not be launched from the directory where the script resides. I think the best alternative is to go with something like:
import os.path
scriptpath = os.path.dirname(__file__)
filename = os.path.join(scriptpath, 'test.txt')
testFile=open(filename)
print(testFile.read())
os.path.dirname(__file__)
will find the directory where the currently running script resides. It then uses os.path.join
to prepend test.txt
with that path.
If this doesn't work then I can only guess that test.txt
isn't actually in the same directory as the script you are running.
Answered By - Michael Petch
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.