2. ÆÄÀÏ ¾²±â
ÆÄÀÏ
¾²±â´Â Àбâ¿Í ºñ½ÁÇÏ´Ù. ¿°í(open) ¾²°í(write) , ´Ý°í(close).
open˼
¿É¼Ç¸¸ ¡®w¡¯·Î ¹Ù²ãÁÖ¸é µÈ´Ù. ÀÐÀ» ´ë´Â ¡®r¡¯ÀÌ°í ¾µ ´ë´Â ¡®w¡¯´Ù.
f = open("d:/dev/python/w.txt", 'w')
¸¸ÀÏ
ÀÌ¹Ì ÀÖ´Â ÆÄÀÏ¿¡ Ãß°¡ÇÏ·Á¸é ¡®w¡¯´ë½Å ¡®a¡¯¸¦ ¾²¸é µÈ´Ù.
f = open("d:/dev/python/w.txt", 'a')
write()
ÆÄÀÏ¿¡
¾²´Â ¹æ¹ýÀº f.write(³»¿ë)ÀÌ´Ù. ³»¿ëÀº Ãâ·ÂµÈ ÇÑÁÙÀÌ´Ù.
À§¿¡¼
ÀÛ¼ºÇÑ ÇÁ·Î±×·¥ ¸¶Áö¸·¿¡ ÀÔ·ÂµÈ ³»¿ëÀ» Ãâ·ÂÇÏ´Â ±â´ÉÀ» Ãß°¡Çغ¸ÀÚ. Node¹øÈ£¿Í º¯À§ ¼ººÐ UX, UY, UZ¸¸ Ãâ·ÂÇÑ´Ù°í ÇØº¸ÀÚ. ÀÌÀü ÇÁ·Î±×·¥ÀÇ
¸¶Áö¸·¿¡ ÀÖ´ø print´Â ÁÖ¼®À¸·Î ó¸®ÇÞ´Ù.
f=open("d:/dev/python/result.txt", 'r')
result=f.readlines()
f.close()
nodedisps=[]
for iresult in result[1:]:
isplt=iresult.split()
inode=int(isplt[0])
idisp=list(map(float,isplt[1:]))
inodedisp=[inode]+idisp
nodedisps.append(inodedisp)
#print(nodedisps)
f=open("d:/dev/python/wresult.txt", 'w')
for line in nodedisps:
f.write(f'{line[0]} {line[1]} {line[2]} {line[3]}\n')
f.close()
|
write¹®Àº
ÇÑÁÙ¾¿ Ãâ·ÂÇϱ⠶§¹®¿¡ for¹®À» ½á¾ß ÇÑ´Ù. ÀÌÀü¿¡ ÆÄÀÏÀ» ÀÐ¾î¼ nodedisps¶ó´Â ¸®½ºÆ®¿¡ ³Ö¾î³ù±â ¶§¹®¿¡ nodedisps
¸®½ºÆ®¸¦ ¼øÈ¸ÇÏ¸é µÈ´Ù. °¢ ¸®½ºÆ®´Â line¿¡ ³Ö¾ú´Ù.
Ãâ·Â¹®
write¸¦ ÁÖ¸ñÇÏ´Ù. 4°¿¡¼ °øºÎÇÑ f-string Æ÷¸ËÆÃÀ» ½è´Ù. line[0]ºÎÅÍ line[3]±îÁö ÇÑľ¿ ÀÇ¿ü´Ù. ¸¶Áö¸·¿¡
\nÀÌ ÀÖ¾î¾ß ÁÙÀÌ ³Ñ¾î°£´Ù.
ÀÌ
Äڵ带 readwrite.py·Î ÀúÀåÇÏ°í ½ÇÇàÇϸé d:/dev/python µð·ºÅ͸®¿¡ wresult.txtÆÄÀÏÀÌ »ý°åÀ» °ÍÀÌ´Ù. ÆÄÀÏÀ» ¿¾îº¸¸é
¾Æ·¡¿Í °°ÀÌ Ãâ·ÂµÇ¾úÀ» °ÍÀÌ´Ù.
101 351.754 351.754 351.754
102 259.268 259.268 259.268
103 259.268 259.268 259.268
104 259.268 259.268 259.268
105 243.063 243.063 243.063
|
¹®Á¦
¾ø¾î º¸ÀδÙ. ÇÏÁö¸¸ ¸¸¾à ù¹øÂ° ÁÙÀÇ 351.754°¡ 1351.7541¿´´Ù¸é ¾î¶®À»±î?
101 1351.7541 351.754 351.754
102 259.268 259.268 259.268
103 259.268 259.268 259.268
104 259.268 259.268 259.268
105 243.063 243.063 243.063
|
ÀÚ¸´¼ö°¡
¸ÂÁö ¾Ê¾Æ ÀбⰡ ¾î·Á¿öÁú °ÍÀÌ´Ù. ±×·¡¼ ÀÌ·¸°Ô Çà°ú ¿ ÇüÅ·ΠµÈ µ¥ÀÌÅ͸¦ Ãâ·ÂÇÒ ¶§´Â Æø°ú ÀÚ¸®¼ö¸¦ Á¤ÇØÁÖ´Â °ÍÀÌ ÁÁ´Ù.
<ÀԷºκР»ý·«>
f=open("d:/dev/python/wresult.txt", 'w')
for line in nodedisps:
f.write(f'{line[0]:5} {line[1]:15.5f} {line[2]:15.5f} {line[3]:15.5f}\n')
f.close()
|
node´Â
5ÀÚ¸®·Î {line[0]:5} º¯À§°ªÀº 15ÀÚ¸®¸¦ Â÷ÁöÇÏ°í ¼Ò¼öÁ¡ ÀÌÇÏ´Â 5ÀÚ¸¦ Ç¥½ÃÇϵµ·Ï {line[1]:15.5f} f-Æ÷¸ËÆÃÀ» º¯°æÇÏ¿´´Ù.
½ÇÇà°á°ú´Â
¾Æ·¡¿Í °°´Ù.
101 351.75400
351.75400
351.75400
102 259.26800
259.26800
259.26800
103 259.26800
259.26800
259.26800
104 259.26800
259.26800
259.26800
105 243.06300
243.06300
243.06300
|
À̹ø
½Ã°£¿¡´Â ÆÄÀÏÀ» ÀÐ°í ¾²´Â °úÁ¤¿¡¼ open, readlines, read, write¸¦ °øºÎÇß´Ù. ±×¸®°í ÀÐÀº ¹®ÀÚ¿À» ó¸®ÇÏ´Â °úÁ¤¿¡¼
strip, split, map, append µîÀ» °øºÎÇß´Ù. Ãâ·ÂÇÏ´Â °úÁ¤¿¡¼´Â f-stringÀ» ´Ù½Ã °øºÎÇß´Ù. ÀÐ°í ¾²´Â °úÁ¤Àº ÀÌ·± ÆÐÅÏÀ¸·Î
ÁøÇàµÇ¹Ç·Î ±âº»ÀûÀ¸·Î ¾Ë°í ÀÖ´Â »óÅ¿¡¼ Á¶±Ý¾¿ ¹Ù²ã¼ Àû¿ëÇÏ¸é µÈ´Ù.
´ÙÀ½
½Ã°£¿¡´Â ÇÔ¼ö¿¡ ´ëÇØ¼ °øºÎÇϰڴÙ. |