Пожалуйста, простите меня за простой вопрос о python. Это мой первый опыт использования python.Что печатает этот номер после выполнения моего скрипта python
Я пишу этот скрипт на mac book pro на данный момент. Вероятно, он будет развернут на сервере Centos позже. Сценарий захватывает файл как аргумент. Я обработаю результат позже.
#!/usr/bin/python
import sys
import subprocess
if len(sys.argv) < 2:
print ("Not enough arguments")
print ("Usage: " + sys.argv[0] + " log_file output_file")
print ("i.e. " + sys.argv[0] + " stream.log output.csv")
sys.exit(1)
else:
input = open (sys.argv[1])
output = open (sys.argv[2],'w')
proc = subprocess.Popen("cat " + input.name + " | cut -d ',' -f 3 | sort | uniq | wc -l", shell=True)
print "got here"
output.close()
print "got here22222"
input.close()
Я только что запустил его с терминала и выполнил его. Тем не менее, после того, как он печатает последний
получил here22222
есть задержка в пару секунд, а затем печатает 567. Тем не менее, нет печати 567 в моем сценарии выше. Кто-нибудь знает, почему он печатает этот номер? Как остановить его от печати этого номера? Заранее спасибо за любую помощь, которую вы можете мне дать.
./test.py a b
got here
got here22222
~/test$ 567
Я думаю, что это происходит от вызова подпроцесса на 'cat'. Вы катаетесь (в конвейере) файл, а 567, скорее всего, результат этого конвейера – inspectorG4dget