Python Application什么都不做

时间:2010-08-02 20:34:23

标签: python null

在我改变了一些我不再记得的内容之后,这段代码完全停止了做任何事情

#Dash Shell
import os
import datetime

class LocalComputer:
    pass

def InitInformation():
    Home = LocalComputer()
    #Acquires user information
    if (os.name == "nt"):
        Home.ComputerName = os.getenv("COMPUTERNAME")
        Home.Username = os.getenv("USERNAME")
        Home.Homedir = os.getenv("HOMEPATH")
    else:
        Home.ComputerName = os.getenv()
        Home.Username = os.getenv("USER")
        Home.Homedir = os.getenv("HOME")
    return Home

def MainShellLoop():
    print ("--- Dash Shell ---")
    Home = InitInformation()
    userinput = None
    currentdir = Home.Homedir
    while (userinput != "exit"):
        rightnow = datetime.datetime.now()
        try:
            userinput = input(str(Home.ComputerName) + "\\" + str(Home.Username) + ":" + str(rightnow.month) + "/" + str(rightnow.day) + "/" + str(rightnow.year) + "@" + str(currentdir))
        except:
            print("Invalid Command specified, please try again")

MainShellLoop()

编辑:大声抱歉,伙计们忘了说它应该运行输入

3 个答案:

答案 0 :(得分:2)

您应该更好地描述您的问题。它是否打印输入提示?它输出什么吗?它会退出还是只是坐在那里?我在阅读这些可能有用的代码时发现了一些问题。您应该使用raw_input(),而不是input()。此外,除非它=='退出',否则您实际上不会对userinput执行任何操作。哪个不会,因为你只是使用input()而不是raw_input(),所以这个人必须输入'exit'(包括引号),否则循环将永远不会退出。 (假设它不是Python 3代码)

答案 1 :(得分:2)

它什么都不做,因为没有代码可以让它做任何事情。尝试插入像

这样的行
print("You entered:", userinput)

在你的循环中的适当位置。

答案 2 :(得分:1)

os.getenv()必须至少有一个参数。试试os.getenv("HOST")或其他什么。