2016-03-22 7 views
1

Neu bei Python, offensichtlich aus dem Code, den ich aus verschiedenen Beispielen zusammengehackt habe.Space zwischen String und Zeile hinzugefügt

Das Problem, das ich in laufende bin ist die Ausgabe von Druckraum Einfügen so bin ich „bearbeiten tcp_ 8080“ statt „bearbeiten tcp_8080“

Die sample.csv eine Säule von verschiedenen Häfen bekommen würde/Zahlen.

Wie entferne ich den Platz zwischen der Zeichenfolge und der Zeile.

Danke für die Zeit.

import csv 

f = open('sample1.csv', 'r') 
e = "edit tcp_" 
s = "set tcp-portrange " 
n = "next" 
csv_f = csv.reader(f) 

#outStr = '' 
for row in csv_f: #for always end in a colon 
    print e,row[0] 
    print s,row[0] 
    print n 
#t = open('output.txt','w') 
#t.write(outStr) 
#t.close() 
f.close() 
+1

Sie möchten 'print e + str (row [0])'. Wenn Sie mehrere Elemente durch ein Komma trennen, wird zwischen ihnen ein Leerzeichen eingefügt. Stattdessen möchten Sie die Zeichenfolgen anhängen. – Suever

+0

was ist die str? Auch wenn Zeile [1] mehrere Wörter enthält. Wie kann ich die Ausgabe in Anführungszeichen setzen? Beispiel "benutzerdefinierter Port für das Web". -Ich brauche das eingepackt in der Ausgabe. – thinguy

+0

'str' stellt sicher, dass' row [0] 'eine Zeichenkette ist (damit sie erfolgreich mit einer anderen Zeichenkette kombiniert werden kann). Auch könnte 'print' {0} {1 } ''. format (e, row [0]) ' – Suever

Antwort

0

Lösung ist:

import csv 

f = open('sample1.csv', 'r') 
e = "edit tcp_" 
s = "set tcp-portrange " 
n = "next" 
csv_f = csv.reader(f) 

#outStr = '' 
for row in csv_f: #for always end in a colon 
    print '{0}{1}'.format(e,row[0]) 
    print '{0}{1}'.format(s,row[0]) 
    print n 
#t = open('output.txt','w') 
#t.write(outStr) 
#t.close() 
f.close() 
0

Sie können print e+row[0].

Das funktioniert, solange beide Zeichenfolgen sind, andernfalls müssen Sie entweder mit str in eine Zeichenfolge konvertieren oder string formatting verwenden.

0
string_with_space = 'string with space' 
with_no_space = ''.join(string_with_space.splt(' ')) 
print with_no_space