я должен выполнить точную команду:«sys.argv [х]» вне диапазона
python3 main.py flip pattern.ppm > flippedpattern.ppm
на следующий код:
def main(args):
if sys.argv[1] == "flip":
fileName = sys.argv[2]
method = read_ppm(fileName)
print(method.flip())
return
if __name__ == '__main__':
sys.exit(main(sys.argv))
У меня есть файл частей на миллион, и я пытаюсь манипулировать им с помощью другого модуля, но он продолжает говорить, что sys.argv [4] выходит за допустимые пределы при присвоении ему переменной 'outputFile'
Выполненный код должен быть по существу этим для команды flip
method = "flip"
method = read_ppm("pattern.ppm")
f.write(method.flip())
Выполнение именно этого с использованием repl в visual studio приводит к успеху, но когда я пытаюсь запустить его из командной строки через главный модуль, это не сработает. Почему это? Символ «>» каким-то образом вмешивается в sys.argv, или я делаю ясную ошибку подсчета, которую я не вижу?
Заявление остальное будет приходиться на вход не выделяющийся и просто печать, используя вход
python3 main.py flip pattern.ppm
без каких-либо файлов перенаправления.
Это имеет смысл. Осмотрите содержимое 'sys.argv', если это не так - вы увидите, что в любом случае он имеет длину 3 (или 4?),' Argv [4] 'является недопустимым, поскольку 4 вне диапазона. (Обратите внимание, что '>' и after являются * не * частью аргументов командной строки.) – user2864740
Как мне сохранить имя выходного файла? – somebody
'method =" flip "; method = read_ppm() 'не имеет смысла. Какова цель первого задания? – 2rs2ts