Írásutasítás nem nyomtat mindent ugyanazon a vonalon

szavazat
0

Én a következő parancsokkal belsejében egy hurok megnyitni egy .txt fájlba, és írjon néhány eredmény a fájlban.

with open ('results.txt', 'a') as file: 
    file.write('%s %d %s %s \n' %(timestamp, v, str(dcur), str(gcur)))

Az eredmények azonban nem kerülnek nyomtatásra ugyanabban a sorban a .txt fájlba, majd str (gcur) jelenik meg a következőt.

Miért történik ez, és hogyan lehetne azt megoldani,?

A kérdést 24/10/2019 12:53
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
1

Valószínűleg azért van, mert amikor hív str, hogy dcurhozzáad egy "\n"valahogy.

Akkor lehántjuk a csontról, hogy:

with open ('results.txt', 'a') as file: 
    file.write('%s %d %s %s \n'.format(timestamp, v, str(dcur).rstript("\n"), str(gcur).rstript("\n")))
Válaszolt 24/10/2019 12:57
a forrás felhasználó

szavazat
0

Ön nyomtat formátumszövegnek '%s %d %s %s \n'ahol %sés %dhelyébe timestamp, v, str(dcur), str(gcur)változókat. Megjegyzés: a \nvégén a formátum string - ez újsor karaktert. Először el kell távolítani, ha azt akarjuk mindent ki kell nyomtatni, az ugyanabban a sorban, mint ez:

with open ('results.txt', 'a') as file: 
    file.write('%s %d %s %s' %(timestamp, v, str(dcur), str(gcur)))
Válaszolt 24/10/2019 13:14
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more