python - 执行 python 脚本以创建 Web 应用程序时出现语法错误
问题描述
这是我第一次使用 pycharm 和烧瓶库。我对高级编程相当陌生,我试图为我的程序创建一个可执行链接,但我遇到了语法错误。当我在没有烧瓶功能且没有if __name__=="__main__":
python IDLE 中的行的情况下在空闲状态下运行相同的脚本时,它会按预期工作。
from flask import Flask
import os
import csv
import sqlite3
import tkinter.filedialog
import pandas as pd
from tkinter import filedialog
from tkinter import *
app=Flask(__name__)
@app.route('/')
k=Tk()
k.filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("csv files","*.csv"),("all files","*.*")))
database=sqlite3.connect("C:\SQLiteStudio\data.db")
d=database.cursor()
task1="""CREATE TABLE z (
date DATE ,
time TIME ,
value_1 DOUBLE PRECISION ,
value_2 DOUBLE PRECISION ,
final_value DOUBLE
);"""
task2="""INSERT INTO z (date, time, value_1, value_2, final_value) VALUES (?,?,?,?,?)"""
#d.execute(task1)
out=pd.read_csv(k.filename, header=None)
print(len(out))
print(out.iloc[0])
row=1
if str(out.iloc[0,0])=='Date' and str(out.iloc[0,1])=='Time' and str(out.iloc[0,2])=='Lat' and str(out.iloc[0,3])=='Long' and str(out.iloc[0,4])=='Temp':
while row< len(out):
print(row)
d.execute(task2,out.iloc[row])
database.commit()
row+=1
else:
print("The data is not in expected format.")
database.close()
if __name__=="__main__":
app.run()
"C:\Users\Jay Paliwal\Desktop\Internship\venv\Scripts\python.exe"
"C:/Users/Jay Paliwal/Desktop/Internship/task 1.py"
File "C:/Users/Jay Paliwal/Desktop/Internship/task 1.py", line 13
k=Tk()
^
SyntaxError: invalid syntax
Process finished with exit code 1
这是我得到的输出。我期待一个链接出现
解决方案
你不能只拥有一个装饰器。装饰器需要声明一个函数。
无论如何,您的代码都应该在函数中。
(但请注意,尝试在 Flask 应用程序中使用 tkinter 是没有意义的。你为什么在这里使用 Flask?)
推荐阅读
- android - 不要打开具有未决意图的活动,除非该活动的实例已经在运行
- excel - 如果单独的日期列来自上个月,则计算某一列
- c++ - std::list 在 boost::interprocess::managed_shared_memory
- nginx - 在 Ubuntu 16.04 上的 Nginx 中设置 phpmyadmin 和反向代理后无法获取 /phpmyadmin
- merge - 将复制值合并到 dup ID?
- apache-spark - spark-提交依赖冲突
- centos7 - 运行命令 sudo yum update -y 时出现依赖错误
- php - 在另一个类中扩展的类中调用函数的正确方法是什么 - PHP
- javascript - 您如何在可以添加、编辑和删除的动态表上保留复选框值?
- kentico - 肯蒂科。是否可以在查询中放置动态值?