当前位置: 首页 > 知识库问答 >
问题:

FileNotFounderRor:[WinError 2]用于python中的POST方法

文德曜
2023-03-14

下面是我试图执行的代码:

from flask import Flask, redirect, url_for,render_template, request, jsonify
import flask
import boto3
from flask_cors import CORS
import os
import pandas as pd

s3 = boto3.client('s3')
UPLOAD_FOLDER = 'path_folder'
app = flask.Flask(__name__)

app.config["DEBUG"] = False
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
CORS(app)

@app.route('/postsqlData/subsytem_upload/', methods=['POST'])
def upload_file():
    df = pd.DataFrame(os.listdir(UPLOAD_FOLDER),columns=['Paths'])
    bucket_name = "name"
    for i in range(len(df)):
       filename1 = str(df['Paths'].iloc[i])
       print(filename1)
       fileSize = os.path.getsize(filename1)
       print(fileSize)
       s3.upload_file(filename1, bucket_name,'test/{}'.format(filename1))

       print("Added")
     return "completeed"
app.run(host='0.0.0.0')

这将引发以下错误:

回溯(最近的调用是最后一次):
文件“C:\users\admin\anaconda3\lib\site-packages\flask\app.py”,第2446行,在wsgi_app响应=self.full_dispatch_request()
文件“C:\users\admin\anaconda3\lib\site-packages\flask\app.py”,第1951行,在full_dispatch_request()rv=self.handle_user_exception(e)
文件“_response(f(*args,**kwargs)))
文件”C:\users\admin\anaconda3\lib\site-packages\flask\app.py“,第1820行,在handle_user_exception reraise(exc_type,exc_value,tb)
文件”C:\users\admin\anaconda3\lib\site-packages\flask\app.py“,第39行,在reraise提高值
文件”:\users\admin\anaconda3\lib\site-packages\flask\app.py“,第1935行,在dispatch_request返回self.view_functionsrule.endpoint
文件中“s3_test.py”,第30行,在upload_file
fileSize=os.path.getsize(filename1)
文件“C:\users\admin\anaconda3\lib\genericpath.py”,第50行,在getsize返回os.stat(filename).st_size
filenotfounderror:[Winerror2]系统找不到指定的文件:“data.xlsx”

如果我单独运行这段代码,即逐行运行。脚本运行成功,并将文件上传到s3 bucket。但是,当我使用post方法时,它不运行这个,我该如何解决这个问题呢?

提前致谢

共有1个答案

鄢禄
2023-03-14

os.listdir(UPLOAD_FOLDER)只提供文件名,但您需要

os.path.join(UPLOAD_FOLDER, filename1)

访问文件夹upload_folder中的文件

fileSize = os.path.getsize( os.path.join(UPLOAD_FOLDER, filename1) )

顺便说一下:您不需要dataframe来获取文件名,但可能需要upload_file()中的full_path

   for filename1 in os.listdir(UPLOAD_FOLDER):
       print(filename1)

       full_path = os.path.join(UPLOAD_FOLDER, filename1)
       print(full_path)

       fileSize = os.path.getsize( full_path )
       print(fileSize)

       s3.upload_file( full_path , bucket_name,'test/{}'.format(filename1))
 类似资料:
  • 问题内容: 创建函数saveTxtIndividualTracks(track,folder,i)基于python3.4.3和Windows 7: 使用功能: 运行代码时,出现以下错误: FileNotFoundError:[错误2]没有这样的文件或目录:’E:/phoneTracks/TA92903URN7ff/0.txt’ 我在E中创建了文件夹。我对mode的功能感到困惑,该模式用于创建新文件

  • 我一直在尝试让openpyxl与py魅力一起工作,但是excel文档出现了一个问号,当我试图运行代码时,它说filenotfunderror 我希望输出是单元格值,但我得到的是: 回溯(最近一次调用):文件“C:/Users/nicol/.PyCharmCE2019.1/config/scratches/excel_work.py”,第3行,wb=xl。加载工作簿(“transactions.xl

  • 本文向大家介绍python requests post多层字典的方法,包括了python requests post多层字典的方法的使用技巧和注意事项,需要的朋友参考一下 pyhton requests模块post方法传参为多层字典时,转换错误, 如,表单传参 post请求后看到form data是: 查看官方文档: More complicated POST requests Typically

  • 本文向大家介绍django中使用POST方法获取POST数据,包括了django中使用POST方法获取POST数据的使用技巧和注意事项,需要的朋友参考一下 在django中获取post数据,首先要规定post发送的数据类型是什么。 1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送POST数据前,定义post请求头中的请求数据类

  • 让我们从我正在使用的代码开始,我尝试了每一种可能的不同方法来生成“params”。我将其用作HashMap、Json格式以及字符串。我还试图通过创建一个hashmap并返回它来@Override getParams()方法。什么都没用。 下面是调用JsonObjectRequest的函数。 网址和其他一切都很好,我已经检查过了,但我只是不明白为什么既不GET或POST方法工作,因为我已经尝试了这两

  • 问题内容: 我试图遍历这样的目录中的文件: 但是,即使文件存在,Python仍会抛出: 那么,这里出了什么问题? 问题答案: 这是因为不返回文件的完整路径,仅返回文件名部分;也就是说,当打开时会需要,因为该文件在当前目录中不存在。 用于在目录前添加文件名: (此外,您没有关闭文件;该块将自动处理该文件)。