2016-08-31 2 views
2

Ich bin ein Neuling in Python. Ich möchte eine for-Schleife schreiben, um den Index zu iterieren, um die Daten zu ziehen.Wie for for Schleife zu iterierenden url Index zu sammeln, um die Daten zu sammeln

Hier ist mein Code:

url90=[] 
for i in range(-90,0): 
url90.append('http://staging.foglogic.com/api/v1/index.php/accounts/34/reports/bcjobs?cmd=json&datestr=today&**index=i**&filter={}&filterOverride=0&su=1') 

Ich möchte Index = i, die von Bereich (-90,0), aber die Python meine ich als Zeichenfolge statt einer ganzen Zahl betrachten.

mein Ergebnis geben Sie mir 90 identisch url:

'http://staging.foglogic.com/api/v1/index.php/accounts/34/reports/bcjobs?cmd=json&datestr=today&index=i&filter={}&filterOverride=0&su=1' 

Gibt es jemand kann mir helfen, das Problem zu lösen?

Vielen Dank!

+2

Was ist Ihre erwartete Ausgabe? –

+0

''http://staging.foglogic.com/api/v1/index.php/accounts/34/reports/bcjobs?cmd=json&datestr=today&index= {} & filter = {} & filterOverride = 0 & su = 1'.format (i, "{}") ' – alfasin

+0

Hast du gedacht, dass' i' Variable automatisch in der Zeichenfolge ersetzt wird? Nein, so geht es nicht. Verwende '.format'. Siehe http://ideone.com/0isAAv –

Antwort

1

Wenn Sie der Meinung sind, dass die Variable i automatisch in der Zeichenfolge zum Auffüllen der Liste verwendet wird, liegen Sie falsch. Es funktioniert nicht so. Verwenden Sie .format:

url90=[] 
for i in range(-90,0): 
    url90.append('http://staging.foglogic.com/api/v1/index.php/accounts/34/reports/bcjobs?cmd=json&datestr=today&index={0}&filter={{}}&filterOverride=0&su=1'.format(i)) 
print("\n".join(url90)) 

Siehe Python demo

Beachten Sie, dass { und } im Format-String Literal muss verdoppelt werden (siehe index={0}). Die {0} ist ein Platzhalter für die Variable i (siehe filter={{}}), die das erste und einzige Argument für die Methode ist.

+1

Es funktioniert! Vielen Dank! –

Verwandte Themen