Я пытался решить эту проблему для когда-то теперь без везения. Суть ситуации в том, что я использую сценарий bash для отправки параметров сценарию python:
Пример:
foo.sh вызывает bar.py .... вызов выглядит так: bar.py $ var1 $ var2 ... $ varn
Затем скрипт python печатает все аргументы, используя массив sys.argv. Сценарий python работает правильно из командной строки, но при вызове из сценария bash (т.е. foo.sh) я не получаю вывода от bar.py.
Кроме того, я запустил foo.sh с "#! / bin / bash -x "и также следил за выводом.
ДЛЯ резюмирования:
Любая помощь была бы замечательной !!!!
Спасибо!
Редактировать: Привет всем, спасибо за ответы, полный код довольно длинный. ..но ... содержимое двух скриптов можно суммировать
foo.sh _ __ _
#!/bin/bash
declare -a list1;
declare -a list2;
list1=("foo" "bar" "please");
list2=("foo" "bar" "please" "help");
declare -a joined;
joined=( $(bar.py "${list1[@]}" "${list2[@]}" ) );
bar.py _ __ _
#!/bin/python
import sys
for arg in sys.argv:
print arg
Насколько я понимаю, все отступы в питоне правильные (пока не знаю, как это делает StackOverflow :)). Эти два представляют суть проблемы, с которой я столкнулся. Как уже говорилось, bar.py правильно печатает аргументы, если он не вызывается из foo.sh.
PS: Я действительно имел в виду сказать "корочка" семантика, меньший класс чем 16 байтов может быть более эффективно обрабатывается системой как структура.
Я искал аналогичный вопрос в stackoverflow и нашел несколько вопросов, касающихся лучших практик производительности, в ADO.Net , Networking , ] Потоки , но не о лучших практиках производительности в C # (Язык) .
Я хочу добавить еще один совет об использовании целочисленных типов:
Среда выполнения оптимизирует производительность 32-битных целочисленных типов (Int32 и UInt32), поэтому используйте эти типы для счетчики и другие часто используемые интегральные переменные.