Использование «>» в ​​командной строке перенаправит вывод для одного скрипта Python, но не для другого - PullRequest
0 голосов
/ 15 октября 2019

В настоящее время у меня есть сценарий python с именем tt.py, добавленный к переменной Windows PATH, чтобы я мог запустить его из любого каталога. tt.py состоит из следующих файлов и функций:

  • tt.py
    • Concatenate.py
      • cat
      • tac
    • CutPaste.py
      • cut
      • paste
    • Grep.py
      • grep
      • startgrep
    • Partial.py
      • head
      • tail

Каждая функция вызывается через аргументы командной строки при запуске tt.py. Я пытаюсь обработать file.csv, используя tt.py, и когда я запускаю

tt.py head file.csv > outputfile.csv

, он перенаправляет операторы печати с head на outputfile.csv, как и ожидалось. Однако, когда я запускаю

tt.py startgrep <searchterm> file.csv > outputfile.csv

, он просто печатает на консоль и рассматривает > как аргумент для программы. Обе функции работают должным образом, я просто не понимаю, как cmd будет перенаправлять правильно для одного случая, но не для другого. Какие есть причины, по которым оператор > не будет работать так же, как этот?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...