2016-09-23 7 views
-1

Ich habe eine Zeichenfolge test_file1. Ich möchte prüfen, ob eine Zeichenfolge vom Benutzer genommen wird, wenn die eingegebene Zeichenfolge mit "test" beginnt. Wie macht man das in Python? lassen args sein = [ 'test_file']Die Überprüfung eines Wortes beginnt mit bestimmten Alphabeten 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

Es sollte funktionieren, Lesen Sie bitte auch [MCVE] – Lafexlos

+2

Sie Ihren Code veröffentlichen können? – Don

+0

warum startswith wird nicht funktionieren? Können Sie erklären, – armak

Antwort

0

Sie die Regex verwenden können.

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

Dann können Sie dieses Muster zum Überprüfen jeder Zeile verwenden.

+0

Ein Punkt '.' sollte vor' * 'platziert werden – Don

+1

@Don yup Sie sind richtig – armak

1

einfach verwenden:

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

In Ihrem Fall wird es

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

Sind in diesem Fall' bett' und 'end' erforderlich? – Don

+0

@Don: Referenz: https://www.tutorialspoint.com/python/string_startswith.htm –

+0

Danke! Ich kannte diese Params nicht. Aber sollte 'str.startswith' und nicht' String.startswith' sein – Don

0

Problem mit dem Code sein ist, dass Sie nicht die Suite in args Liste mit neu erstellten Suite-Namen ersetzen.

Check this out

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 

Ausgang:

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> 

Above können auch Liste Verständnis implementiert werden.

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 
Verwandte Themen