在PythonAnywhere上托管一个带有用户输入的简单脚本

时间:2016-04-22 01:51:01

标签: python flask pythonanywhere

我是python的初学者,我试图在PythonAnywhere上托管我的python脚本,只是为了好玩。我从Codecadamy练习中获取了代码来制作Python piglatin翻译器,这需要用户输入。我无法让它承载实际的应用程序部分。这是我目前的代码。

import os
from flask import Flask
app=Flask(__name__)

#main page
@app.route("/")
    def translate():
    return "Welcome to Nathan's Pyglatin Translator!"
    word1= input("Enter your word:")
    pyg="ay"
    word2=word1.lower()[1:len(word1)]
    word1=word1.lower()
    if len(word1)>1 and word1.isalpha():
            if word1[0]=="a" or "e" or "i" or "o" or "u" or "y":
                print(word1+" ---->"+word2+"-"+word1[0]+pyg)
            else:
                print(word1+" ---->"+word2+"-"+word1[0]+pyg)
    else:    
        print("Please enter a word longer than 1 character, without numbers.")
    print(" ")
    print("--Note that this doesn't work well with words that begin with a vowel--")
    print("Suggestions? Comments? Contact me.")

if __name__=="__main__":
port=int(os.environ.get('PORT',5000))
app.run(host='0.0.0.0',port=port)

我能够在Spyder或Jupyter Notebook中完美地运行代码(没有与在网页上托管它的Flask代码),但是当我尝试在PythonAnywhere上托管它时,它只显示& #34;欢迎来到Nathan的Pyglatin翻译!"

最简单,最简单的方法是让它实际提示用户输入他们的单词,然后浏览脚本并在屏幕上打印新单词?希望它只是我失踪的一件小事。

1 个答案:

答案 0 :(得分:2)

PythonAnywhere管理员在这里。这里有两种可能的解决方案。

  • 第一种方法可以让您的代码在控制台中运行。为了能够与匿名陌生人共享交互式控制台,我们有一个名为gist consoles的功能。为了实现这一点,您必须将代码上传到github gist,然后将gist url复制到pythonanywhere gist控制台服务。然后,您将获得一个URL,允许互联网上的任何人使用自己的控制台运行您的代码

  • 第二种方法是将代码更改为Web应用程序。您可以使用HTML显示允许用户提交输入的表单,也可以显示结果。在服务器端,您将使用Python来处理他们的请求。我的同事吉尔斯写了a basic guide to use Flask on PythonAnywhere。这实际上比你想要的稍微多一些(你不需要数据库部分),但是如果你遵循它,你将学习如何创建HTML页面和处理表单数据......