Python应用程序什么都不做

Python应用程序什么都不做,python,null,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("COMP

在我改变了一些我不再记得的东西之后,这段代码停止了任何操作

#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()

编辑:哈哈,对不起,伙计们忘了说应该运行输入

你最好描述一下你的问题。它是否打印输入提示?它输出什么吗?它是退出还是坐在那里?在阅读这段代码时,我注意到一些可能会有所帮助的问题。您应该使用原始输入,而不是输入。此外,除非userinput=='exit',否则实际上不会对其执行任何操作。这是不会的,因为你只是使用输入,而不是原始输入,所以这个人必须输入包含引号的“退出”,否则循环将永远不会退出。假设它不是Python 3代码,那么os.getenv必须至少有一个参数。试试os.getenvHOST或其他什么东西。

它什么也不做,因为没有代码让它做任何事情。尝试插入一行,如

print("You entered:", userinput)

在循环中的适当位置。

我收到了关于os.getenv的投诉,因为它需要一个参数。@Indebi:您甚至不打算猜测是什么改变了它,从而实现了这一点?这是您应该使用源代码管理的原因之一,即使是对于非常小的项目。不起作用?只需返回到一个版本,看看有什么变化!这是一个几乎毫无价值的问题。你做的唯一一件好事就是发布完整的来源。一个更好的提问方式应该包括这样的事情,这是我所期望的。。。这就是我得到的结果。1:我和你一样困惑。既然你知道它过去做什么,你就可以解决这个问题。因为我没有任何关于它应该做什么的提示,我只能摇摇头,想知道我是如何改变一些我不再记得的事情的。如果代码是Python 3,它很可能是这样的,因为print是一个函数,那么输入是正确的。它在没有任何内容的情况下工作过,而且它是在Windows7上编码的,所以这个部分还没有运行