hali!
abban kene segitseg, hogy hogyan tudnam megoldani pythonban egy hosszu newline karaktere nelkuli string file-ba irasat ugy, hogy mondjuk 50 karakterenkent uj sort kezdjen.
- 1063 megtekintés
Hozzászólások
Írd karakterenként a fájlba ciklussal (pl while-lal EOF-ig) és 50-esével írj hozzá egy '\n' -t.
-vagy-
Kiírás előtt másold le ciklussal, karakterenként a stringet és minden 50. karakter legyen '\n'. Ezután hagyományosan írd ki.
--
return 0;
- A hozzászóláshoz be kell jelentkezni
jo, de ciklussal hogy masoljan ki 50enkent?
- A hozzászóláshoz be kell jelentkezni
s1 = "aljkdfhaskljfhsdjkgfsdklfjhasklgfgaslfhs"
s2 = ""
for i in range(len(s1)):
__if (i % 10 == 0):
____s2 += '\n'
__s2 += s1[i]
print(s2)
_ helyett space, valaimért hiába rakom code blokkba, nem érdekli.
--
return 0;
- A hozzászóláshoz be kell jelentkezni
Formázás mint nyelvi elem suxxx...
- A hozzászóláshoz be kell jelentkezni
Hát igen. De tényleg segít, amikor más kódját olvasom.
--
return 0;
- A hozzászóláshoz be kell jelentkezni
A lyukkártyán is segített a pozícionálás, ez igaz :-) De az régen volt...
- A hozzászóláshoz be kell jelentkezni
A python stringműveletei kissé érzékenyek a változó sztringekre, például arra, ha egyesével adogatunk egy sztringhez újabb karaktereket. Képes lemásolni a teljes régit, hogy hozzácsapjon még egy újat. Kicsit luxusnak tűnik nekem a fenti megoldás, s ha nagyobb fájlokról lenne szó, akkor eléggé lassú is lehet.
Én valahogy így csinálnám:
s1 = "aljkdfhaskljfhsdjkgfsdklfjhasklgfgaslfhs"
s2 = []
i = 0;
while i<len(s1):
__s2.append( s1[i:i+10] )
__i += 10
s2 = "\n".join(s2)
print s2
- A hozzászóláshoz be kell jelentkezni
pythonban ilyet nem érdemes, a string immutable
- A hozzászóláshoz be kell jelentkezni
> valaimért hiába rakom code blokkba, nem érdekli.
A code-t szögletes zárójelbe tedd!
szaszi
- A hozzászóláshoz be kell jelentkezni
if not text:
___panic
for i in xrange(len(text)//50+1):
___print text[i*50:(i+1)*50]
- A hozzászóláshoz be kell jelentkezni
kosz a valaszokat, tenyleg nem jutott eszembe semmi ertelmes megoldas ra, de igy mar jo lesz :)
- A hozzászóláshoz be kell jelentkezni
import re
split5 = re.compile(r".{1,5}", re.DOTALL).findall
print split5('"Give me bacon and eggs," said the other man.')
# prints ['"Give', ' me b', 'acon ', 'and e', 'ggs,"', ' said', ' the ', 'other', ' man.']
"\n".join(split5('"Give me bacon and eggs," said the other man.'))
- A hozzászóláshoz be kell jelentkezni