Проверьте, ли введенный список/кортеж строк или единственной строки

Вы можете использовать задачу FileUpdate из Задач сообщества MSBuild, как описано в статье http://geekswithblogs.net/mnf/archive/2009/07/03/msbuild-task-to-replace-content-in -text-files.aspx

50
задан Algebra 12 November 2017 в 14:45
поделиться

5 ответов

Вы можете проверить, является ли переменная строкой или строкой Unicode с помощью

isinstance(some_object, basestring)

. Это вернет True как для строк, так и для строк Unicode

Изменить:

Вы можете сделать что-то вроде этого:

if isinstance(some_object, basestring):
    ...
elif all(isinstance(item, basestring) for item in some_object): # check iterable for stringness of all items. Will raise TypeError if some_object is not iterable
    ...
else:
    raise TypeError # or something along that line

Струнность, наверное, не слово, но я надеюсь, что вы уловили идею

61
ответ дан 7 November 2019 в 10:47
поделиться

Проверка типа:

def func(arg):
    if not isinstance(arg, (list, tuple)):
        arg = [arg]
    # process

func('abc')
func(['abc', '123'])

Varargs:

def func(*arg):
    # process

func('abc')
func('abc', '123')
func(*['abc', '123'])
17
ответ дан 7 November 2019 в 10:47
поделиться

isinstance is вариант:

In [2]: isinstance("a", str)
Out[2]: True

In [3]: isinstance([], str)
Out[3]: False

In [4]: isinstance([], list)
Out[4]: True

In [5]: isinstance("", list)
Out[5]: False
12
ответ дан 7 November 2019 в 10:47
поделиться

Рассматривали ли вы синтаксис varargs ? Я не совсем уверен, что вы спрашиваете об этом, но будет ли что-то вроде , этот вопрос соответствовать вашим требованиям?

1
ответ дан 7 November 2019 в 10:47
поделиться

Проверьте тип с помощью isinstance (arg, basestring)

3
ответ дан 7 November 2019 в 10:47
поделиться
Другие вопросы по тегам:

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