2016-09-23 2 views
-1

У меня есть строка test_file1. Я хочу проверить, берет ли строка от пользователя, если строка, которую он вводит, начинается с «теста». Как это сделать в python? пусть арг быть = [ 'test_file']Проверка слова начинается с определенных алфавитов python

for suite in args: 
      if suite.startswith('test'): 
       suite="hello.tests."+suite 
      print(suite) // prints hello.tests.test_file 
print(args) //prints ['test.file]' and not ['hello.tests.test_file'] 
+0

Он должен работать, также, пожалуйста, см [MCVE] – Lafexlos

+2

Вы можете разместить свой код? – Don

+0

Почему startswith не работает? вы можете объяснить – armak

ответ

0

вы можете использовать регулярные выражения.

pat = re.compile(r'^test.*') 

, то вы можете использовать этот шаблон для проверки каждой строки.

+0

Точка '.' должна быть помещена перед' * ' – Don

+1

@ Достаточно ли вы верны – armak

1

Просто используйте:

String.startswith(str, beg=0,end=len(string)) 

В вашем случае, это будет

word.startswith('test', 0, 4) 
+0

В этом случае требуются' beg' и 'end'? – Don

+0

@ Don: Ссылка: https://www.tutorialspoint.com/python/string_startswith.htm –

+0

Thanx! Я не знал этих параметров. Но должен быть 'str.startswith', а не' String.startswith' – Don

0

Проблемы с кодом вы не заменяющим набора в списке аргументов с новосозданным именем люкса.

Проверить это

args = ['test_file'] 
print "Before args are -",args 
for suite in args: 
    #Checks test word 
    if suite.startswith('test'): 
     #If yes, append "hello.tests" 
     new_suite="hello.tests."+suite 
     #Replace it in args list 
     args[args.index(suite)]=new_suite 

print "After args are -",args 

Выход:

C:\Users\dinesh_pundkar\Desktop>python c.py 
Before args are - ['test_file'] 
After args are - ['hello.tests.test_file'] 

C:\Users\dinesh_pundkar\Desktop> 

Выше может быть также реализован с использованием список понимание.

args = ['test_file',"file_test"] 
print "Before args are -",args 

args = ["hello.tests."+suite if suite.startswith('test') else suite for suite in args] 

print "After args are -",args 
Смежные вопросы