Why my code cannot find my file/directory - python-3.x

I am trying to get code to read from a .txt file, the file itself is within another file called driving_dataset. The files exist and it should be able to find the .txt file but it won't and I cannot tell what I am doing wrong..
I have triple checked for any spelling errors
#read data.txt
with open("driving_dataset/data.txt") as f:
for line in f:
xs.append("driving_dataset/" + line.split()[0])
It should be directed through driving_dataset folder to the data.txt file but it does not pick it up. and gives me the error
with open("driving_dataset/data.txt","r") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'driving_dataset/data.txt'

Related

Can't load txt file with numpy in VSCode

import numpy as np
dat=np.loadtxt('sample.txt',skiprows=0,dtype=float)
print(dat.shape)
I'm trying to load txt file with numpy in VScode, but it displays such error
dat=np.loadtxt('sample.txt',skiprows=0,dtype=float)
File "C:\Users\asadb\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 961, in loadtxt
fh = np.lib._datasource.open(fname, 'rt', encoding=encoding)
File "C:\Users\asadb\anaconda3\lib\site-packages\numpy\lib\_datasource.py", line 195, in open
return ds.open(path, mode, encoding=encoding, newline=newline)
File "C:\Users\asadb\anaconda3\lib\site-packages\numpy\lib\_datasource.py", line 535, in open
raise IOError("%s not found." % path)
OSError: sample.txt not found.
Two files, .py file and .txt file, are in the same folder.
I changed the directory to save .txt file then it moved!! Two files, .py that you want to move and .txt shouldn't be together in the same file or directory.
Assuming the answer you gave yourself is not the answer.
In VSCode you have multiple ways of opening a file. If you open a file directly. It does not always take the directory with it. If you were to load in a textfile. It would not search for it in your .py file directory (Whatever it may be). But it would search in your Python executable or VSCode directory. I recommend navigating to File --> Open Folder. In VSCode. And opening the folder where your .py file is located. This should fix your issue.

Can`t use the files inside my subdirectories

I`m creating a program that can read certain data from some txt files, the problem comes when I try to use the files inside subdirectories (the subdirectories are inside the main directory of the program. I'm using a for the option to find all the files and then create a new file with the info that I found. The main problem is that I can't read those files.
I tried using a for a function that creates a list of directories, files and roots, this works fine, but in the moment of running the file it says "it cannot be found txt file". The if not condition is made so the program excludes all.DS_Store files. I think the problem could be the way I open the file but im not sure
for root, directories, filenames in os.walk("Files_to_Insert"):
if not (filenames[-1] == ".DS_Store"):
lastFile = filenames[-1]
print lastFile
with open (lastFile, 'rt') as myfile:
IOError: [Errno 2] No such file or directory: txt
The mistake happens in the with open because it can`t find the file.
When I print I get all the txt files, but I can,t use them in the "with open"
A typical os.walk I use goes like this:
import os
for root, directories, filenames in os.walk("."):
for f in filenames:
if f.endswith(".DS_Store"):
continue
print(os.path.abspath(f))
with open (os.path.abspath(f), 'rt') as myfile:
I solve it by giving the path and the text file in separate strings:
for root, directories, filenames in os.walk("Files_to_Insert"):
if not(filenames[-1] == ".DS_Store"):
lastFile = filenames[-1]
# print (lastFile)
with open(str(root) + '/' + lastFile,'rt') as myfile:

I am getting FileNotFoundError: [Errno 2] No such file or directory: 'dna.txt' on Pycharm? Where do I put file to read?

I am trying to open 2 text files on PyCharm but it says file not found. Where do I put the files so they can be found?
I tried moving the files to the folder where all my PyCharm projects are kept but it didn't work.
dna = open('dna.txt', 'r')
dna.close()
dna_results = open("dnaresults.txt", "w")
dna_results.close()
Expected: I don't know honestly, for the text file to open on PyCharm so I can read it?
Actual: FileNotFoundError: [Errno 2] No such file or directory: 'dna.txt'
You need to pass the full path of the file in order to open it, for e.g. if the file is located at /home/john/dna.txt, you need to do.
dna = open('/home/john/dna.txt', 'r')
dna.close()
You can put your file anywhere you want, but you always need to pass the full path of the file in order to access it, otherwise the python interpreter doesn't know where to find it.
As an additional tidbit, if the dna.txt is located in the same folder as where the script is located, dna = open('dna.txt', 'r') will work

FileNotFoundError even though file exist

when trying to open a file using wit open .. getting error that file doesn't exist.
I am trying to parse some txt files , when working localy it works with no issue, but the issue started when I am trying to connect to a network folder. the strange this is that is does see the file , but says its not found .
The Path I referring is '//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*' (this folder is full of txt files.
but I am still getting this error:
FileNotFoundError: [Errno 2] No such file or directory: 'Console_log_01-01-2019_08-17-56.txt'
as you see , it does see the needed file .
in order to get to this file I am parsing splitting the path the follwoing way :
readFile = name.split("/")[9].split("\\")[1]
because if I am looking on the list of my files I see them the following way :
['//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\Console_log_01-01-2019_08-17-56.txt',
after splitting I am getting :
Console_log_01-01-2019_08-17-56.txt
and still it says the file is not found.
def main():
lines =0
path = '//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*'
files = glob.glob(path)
print ("files")
print ('\n')
print(files)
for name in glob.glob(path):
print (path)
readFile = name.split("/")[9].split("\\")[1]
print(readFile)
with open(readFile,"r") as file:
lines = file.readlines()
print (lines)
main()
files
['//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\\Console_log_01-01-2019_08-17-56.txt', '//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs\\Console_log_01-01-2019_08-18-29.txt']
Traceback (most recent call last):
//10.8.4.49/Projects/QASA_BR_TCL_Env_7.2.250/Utils/BR_Env/Call Generator/results/Console_Logs/*
Console_log_01-01-2019_08-17-56.txt
File "C:/Users/markp/.PyCharmEdu2018.3/config/scratches/scratch_3.py", line 19, in <module>
main()
File "C:/Users/markp/.PyCharmEdu2018.3/config/scratches/scratch_3.py", line 16, in main
with open(readFile,"r") as file:
FileNotFoundError: [Errno 2] No such file or directory: 'Console_log_01-01-2019_08-17-56.txt'
Process finished with exit code 1
When you are looking for the file you are looking in the entire path, however when you are opening the file, you are referencing it as if it was in the local path, either change the current working directory with
os.chdir(path)
before opening the file, or in the open statement use
open(os.path.join(path,filename))
I recommend the first approach if you have to open only one file in your program and second if you open multiple files at multiple directories.
In future better format your questions, stack overflow has multiple tools, use them, also you can see how your text looks, make sure to have a look at it before posting. Use the code brackets for your code, that will help whoever is trying to answer.

Working with shutil and os: [Errno 2] No such file or directory 'folder'

import os, shutil
directory = 'C:\\Users\\MinJun\\Documents\\Python exercise solutions'
def move_files(_dir):
for file in os.listdir(_dir): #check every file in directory
if os.path.isdir(file): #if it is a folder, skip
continue
if file.endswith('.py'): #if file ends with .py, skip
continue
else: #move file to newfolder, (it will automatically create one)
shutil.move(file, directory.join('\\newfolder'))
move_files(directory)
Hello, I am trying to move files that are not folders or .py files to a folder that does not exist (but will be created with shutil.move). I get an error in the shutil module:
FileNotFoundError: [Errno 2] No such file or directory: 'graphics'
My folder 'graphics' is the first item in the directory.
Try
shutil.move(file, ''.join([directory, '\\newfolder'])
join does probably not work as you expected: https://docs.python.org/3.5/library/stdtypes.html#str.join
If you print(directory.join('\\newfolder')) you can see what it resulted in, and that this path for sure does not exist.
There is also os.path.join(path, *paths), which is sort of a "path-aware" string joining function.

Resources