私はチュートリアルCreate your own shell in Pythonで学んでいます。私は奇妙な問題があります。私は、コードを次のように書いた:Python:[Errno 2]そのようなファイルやディレクトリはありません - 奇妙な問題
import sys
import shlex
import os
SHELL_STATUS_RUN = 1
SHELL_STATUS_STOP = 0
def shell_loop():
status = SHELL_STATUS_RUN
while status == SHELL_STATUS_RUN:
sys.stdout.write('> ') #display a command prompt
sys.stdout.flush()
cmd = sys.stdin.readline() #read command input
cmd_tokens = tokenize(cmd) #tokenize the command input
status = execute(cmd_tokens) #execute the command and retrieve new status
def main():
shell_loop()
def tokenize(string):
return shlex.split(string)
def execute(cmd_tokens): #execute command
os.execvp(cmd_tokens[0], cmd_tokens) #return status indicating to wait for the next command in shell_loop
return SHELL_STATUS_RUN
if __name__ == "__main__":
main()
そして、私は「MKDIRフォルダ」コマンドを入力していたときに、今ではエラーが返されます:[Errno 2] No such file or directory
を。しかし、正しく動作する以前の "help"コマンドを書くと(使用可能なすべてのコマンドが表示されます)、コマンドmkdirは正しく動作し、フォルダを作成します。私のコードに何が問題なのか教えてください。 私は私のリンクのコメントからのコピー&ペーストのWindows 8.1上++メモ帳で64倍
残念ながら、それはあまり効果がありません。同じエラー。 –
それを忘れる:それは正しいです。私の悪い。あなたはexecvpを呼び出す前に 'cmd_tokens'を印刷できますか(あなたの質問に入れてください) –
あなたのリンクのコメントを読む –