我需要使用python中的read_csv文件,该文件位于UPLOAD_FOLDER
FileNotFoundError: [Errno 2] File b'../bpe.csv' does not exist:
此代码:
def get_uploads():
"""gets the images and other files from the uploads directory
and returns two lists of tuples in the form (name, path)
"""
others = []
uploads = os.listdir(os.path.join(app.root_path, app.config['UPLOAD_FOLDER']))
# sort by time last modified
uploads.sort(key=lambda filename: os.stat(os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], filename)).st_mtime)
for upload in uploads[::-1]:
others.append(( upload))
print(others)
for i in others:
if i=='bpe.csv':
databpe=i
if i=='ch.csv':
datach=i
if databpe and datach:
df=pandas.read_csv(databpe)
ch=pandas.read_csv(datach)
flash("check desktop","success")
return render_template("page3.html")
答案 0 :(得分:0)
os.listdir
返回相对路径。因此,最小的解决方法是:
df=pandas.read_csv(os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], databpe))
ch=pandas.read_csv(os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], datach))
更好的重构是:
def get_uploads():
databpe_path = os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], 'bpe.csv')
datach_path = os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], 'ch.csv')
if os.path.isfile(databpe_path) and os.path.isfile(datach_path):
df=pandas.read_csv(databpe_path)
ch=pandas.read_csv(datach_path)
flash("check desktop","success")
return render_template("page3.html")