CScript/WScript Препятствуют ошибке быть блокированием

Для коротких массивов использование наборов, вероятно, является самым ясным и наиболее читаемым способом его выполнения.

Другой способ - использовать numpy.intersect1d . Вы должны будете обмануть его для обработки строк как одного значения, хотя ... Это делает вещи немного менее читаемыми ...

import numpy as np

A = np.array([[1,4],[2,5],[3,6]])
B = np.array([[1,4],[3,6],[7,8]])

nrows, ncols = A.shape
dtype={'names':['f{}'.format(i) for i in range(ncols)],
       'formats':ncols * [A.dtype]}

C = np.intersect1d(A.view(dtype), B.view(dtype))

# This last bit is optional if you're okay with "C" being a structured array...
C = C.view(A.dtype).reshape(-1, ncols)

Для больших массивов это должно быть значительно быстрее, чем используя наборы.

6
задан FlySwat 18 September 2008 в 02:32
поделиться

5 ответов

Это - то, как необходимо запускать пакетные задания Скрипта:

cscript //b scriptname.vbs
4
ответ дан 17 December 2019 в 00:17
поделиться

Не используйте WScript; используйте CScript. В командной строке Windows введите следующее для отображения справки.

cscript //?
Я предлагаю следующее:
cscript //H:CScript
Это сделает CScript Вашим интерпретатором сценариев значения по умолчанию. CScript печатает сообщения к консоли (т.е. stdout), как Вы требуете. (Это не использует диалоговые окна.) Можно также хотеть попробовать//B переключатель, но я не могу сказать, должно ли это быть выполнено на сценарий или нет. Если это - персистентный, одноразовый переключатель как//H, переключатель, то это может работать на Вас; в противном случае Вы, возможно, должны изменить все свои удаленные программы для включения его. От информации Вы, если, я думаю, просто изменив интерпретатор по умолчанию (//H) сделаете то, что Вы хотите.

Необходимо будет также добавить своего рода обработку ошибок, чтобы помешать сценарию завершаться на ошибке. В Visual Basic Scripting Edition самая легкая вещь сделать, если Вы просто хотите проигнорировать ошибки, состоит в том, чтобы добавить следующее к верхней части Вашего сценария.

On Error Resume Next
См. http://msdn.microsoft.com/en-us/library/53f3k80h (По сравнению с 85) .aspx для получения дополнительной информации.
2
ответ дан 17 December 2019 в 00:17
поделиться

Использовать WScript.Echo вместо MsgBox. И также выполненный использование сценария Cscript вместо Wscript.

1
ответ дан 17 December 2019 в 00:17
поделиться

Вы не заявили, какой язык Вы используете. При использовании VBScript можно записать обработчик ошибок с помощью На Ошибке... оператор. При использовании JScript можно использовать попытку {} выгода (x) {} блок.

0
ответ дан 17 December 2019 в 00:17
поделиться

не делайте этого:

vbscript: На ошибке возобновляются затем

английский язык: "когда Вы имеете ошибку, игнорируете ее и просто продолжаете идти".

0
ответ дан 17 December 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: