Я учусь с учебником 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 64x
К сожалению, он не работает. Такая же ошибка. –
Забудьте об этом: это правильно. Виноват. Можете ли вы напечатать 'cmd_tokens' перед вызовом execvp (поместите это в свой вопрос) –
прочитать комментарии по вашей ссылке –