Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试运行flask web app时,未定义获取null错误_Python_Flask - Fatal编程技术网

Python 尝试运行flask web app时,未定义获取null错误

Python 尝试运行flask web app时,未定义获取null错误,python,flask,Python,Flask,我试图建立一个网络应用程序,将清理一个csv和返回pdf格式的图形 因为我对构建web应用程序和烧瓶还不熟悉。我试图从构建一个简单的web应用程序开始,它允许用户上传csv格式的文件。但是,当我尝试在bash上运行应用程序时,会收到以下错误消息: (venv) bash-3.2$ python main.py Traceback (most recent call last): File "main.py", line 5, in <module> "execution_

我试图建立一个网络应用程序,将清理一个csv和返回pdf格式的图形

因为我对构建web应用程序和烧瓶还不熟悉。我试图从构建一个简单的web应用程序开始,它允许用户上传csv格式的文件。但是,当我尝试在bash上运行应用程序时,会收到以下错误消息:

(venv) bash-3.2$ python main.py
Traceback (most recent call last):
  File "main.py", line 5, in <module>
    "execution_count": null,
NameError: name 'null' is not defined

您需要知道的一切都在错误消息中:您的
main.py
模块的第5行有
“execution\u count”:null
,这会引发一个错误,因为您显然没有定义名为
null
的变量。可能您将其与内置的
None
混淆,或者打算使用字符串
“null”
(请注意引号),如果没有代码就无法判断。您上面的代码段必须是其他代码,它不包含有问题的行。

如果您下载了Jupyter笔记本文件并使用.py扩展名保存它,那么它不仅包含该脚本,而且只是该脚本嵌入的较大.ipynb结构的一小部分。创建一个名为main.py的新文件,并将脚本复制到该文件中,而不是下载笔记本。

错误出现在
main.py
第5行。我猜这里显示的不是
main.py
?@zvone it is main.py这段代码是我的代码,它作为一个.py文件(用jupyter编写的代码)看起来确实不同,那么您应该更详细地解释您在哪里编写的代码以及如何运行它。
execution\u count
行是Jupyter笔记本(
.ipynb
文件)的一部分,看起来您混淆了某些内容。请提供更多详细信息。添加了更多详细信息确定,看起来您确实无意中试图直接运行Jupyter笔记本,尽管您已将其命名为
main.py
。Jupyter笔记本(通常以
.ipynb
结尾)是JSON文件,其中包含Python代码,但也包含有关笔记本的元信息。它们不能直接运行,您的错误发生在第5行,因为在这之前的所有内容都是有效的Python,而不带引号的
null
标识符则不是。问题是您的笔记本如何命名为
main.py
,是否可能在命令行上移动时意外重命名了它?尝试了此操作,现在在尝试运行bash:SyntaxError:invalid syntax>>python main.py文件“”时收到此错误消息,第1行python main.pyctrl+z退出您试图在其中运行它的pythonshell。直接在命令提示符下执行
python main.py
from pprint import pprint as pp
from flask import Flask, flash,redirect,render_template,request,url_for
from werkzeug.utils import secure_filename
upload_folder = '/path/to/the/uploads'
allowed_exts = set(['csv','pdf'])
app = Flask(__name__)
app.config['upload_folder'] = upload_folder
def allowed_f(file):
    return '.' in file and \
        file.rsplit('.',1)[1].lower() in allowed_exts
@app.route('/', methods = ['GET','POST'])
def upload():
    if request.method == 'POST':
        if 'file' not in request.files:
            flash('File part cannot be found')
            return redirect(request.url)
        file = request.files['file']
        if file.filename == '':
            flash('No file has been selected')
            return redirect(request.url)
        if file and allowed_f(file.filename):
            filename =  secure_filename(file.filename)
            file.save(os.path.join(app.config['upload_folder'],filename))
            return redirect(url_for('uploaded_file',filename=filename))
    return '''
    <!doctype html>
    <title>GMB Discovery Report builder/title>
    <h1>Upload GMB Discovery CSV</h1>
    <form method=post enctype=multipart/form-data>
    <input type=file name=file>
    <input type=submit value =Upload>
    </form>
    '''
from flask import send_from_directory
@app.route('/uploads/<filename>')
def uploaded_f(filename):
    return send_from_directory(app.config['upload_folder'],filename)
if __name__=='__main__':
    app.run(debug=True)
/Users/emmanuelsibanda/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py:763: UserWarning: Attempting to work in a virtualenv. If you encounter problems, please install IPython inside the virtualenv.
  warn("Attempting to work in a virtualenv. If you encounter problems, please "
Python 3.6.8 |Anaconda, Inc.| (default, Dec 29 2018, 19:04:46)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.