ÆÄÀ̽ã, Ãâ·ÂµÈ ³»¿ëÀ» ÆÄÀÏ¿¡ ÀúÀåÇÏ´Â ¹æ¹ý Áú¹®

   Á¶È¸ 9620   Ãßõ 0    

안녕하세요

아래와 같이 출력된 내용을 파일로 저장을 하고 싶은데 잘 안되서 조언 부탁드립니다.



ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
dogbull 2019-01
¸ðµç Ç¥ÁØÃâ·ÂÀ» ÇϳªÀÇ ÆÄÀÏ·Î º¸³»±æ ¿øÇÑ´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÇ°Ú½À´Ï´Ù.
import sys
sys.stdout=open('log.txt', 'w')
print(1)
print(2)
     
³×ÀÌÃÄ 2019-01
´Ý´Â°Å´Â sys.stdout.close() ¶ó°í ÇÏ¸é µÇ³ª¿ä??
Çغ¸´Ï±î ÀÛµ¿Àº Á¦´ë·Î Çϴ°Š°°Àºµ¥ ¿¡·¯ ¸Þ¼¼Áöµµ ¶ß´Â...

Exception in callback BaseAsyncIOLoop._handle_events(12, 1)
handle: <Handle BaseAsyncIOLoop._handle_events(12, 1)>
Traceback (most recent call last):
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/asyncio/events.py", line 145, in _run
    self._callback(*self._args)
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/site-packages/tornado/platform/asyncio.py", line 117, in _handle_events
    handler_func(fileobj, events)
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/site-packages/tornado/stack_context.py", line 276, in null_wrapper
    return fn(*args, **kwargs)
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 450, in _handle_events
    self._handle_recv()
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 480, in _handle_recv
    self._run_callback(callback, msg)
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 432, in _run_callback
    callback(*args, **kwargs)
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/site-packages/tornado/stack_context.py", line 276, in null_wrapper
    return fn(*args, **kwargs)
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 283, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "/usr/local/anaconda3_5.2.0/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 239, in dispatch_shell
    sys.stdout.flush()
ValueError: I/O operation on closed file.
          
dogbull 2019-01
import sys
sys.stdout=open('log.txt', 'w')
sys.stdout.close()
print(1)
print(2)

sys.stdout.close() ¸¦ È£ÃâÇÏ¸é ±× ÀÌÈÄ¿¡ sys.stdout¿¡ ´ëÇÑ Àбâ/¾²±â ÀÛ¾÷Àº,
¸»¾¸ÇϽŠValueError: I/O operation on closed file °¡ ¹ß»ýÇÕ´Ï´Ù.
Á¦°¡ ¾ð±ÞÇÑ ³»¿ëÀº ´Ü¼øÈ÷ µ¿ÀÛ ¹æ½ÄÀ» º¸¿©ÁÖ±â À§ÇÑ °ÍÀÏ»Ó,
¾Æ·¡ timeleaf ´ÔÀÇ ¸»¾¸´ë·Î logging ¸ðµâÀ» »ç¿ëÇÏ´Â°Ô ´õ ÁÁÀº ¹æ¹ýÀÔ´Ï´Ù.
               
³×ÀÌÃÄ 2019-01
´äº¯ °¨»çÇÕ´Ï´Ù.

import sys

temp = sys.stdout  <---
sys.stdout = open("log.dat", "w")
print("test1234")
print("t1111234")
print("zlvxxjv393")

sys.stdout.close()
sys.stdout = temp  <---  À̰Ÿ¦ ÇØÁÖ¸é µÈ´Ù°í https://code.i-harness.com/ko-kr/q/31ccb8 ¿©±â º¸°í µû¶óÇغýÀ´Ï´Ù.

=====================
with openÀ» ¾µ ¶§µµ ¾Æ·¡Ã³·³ Çϴϱî Àߵdz׿ä~

temp = sys.stdout  <---
with open("log.dat", "w") as sys.stdout:
    print("test1234")
    print("t1111234")
    print("zlvxxjv393")

    sys.stdout = temp  <---


±×¸®°í loggingµµ Çѹø ºÃ´Âµ¥, ¾ÆÁ÷ Ãʺ¸¶ó ¹«¼­¿ö º¸¿©¼­ õõÈ÷ º¸·Á°í ÇÕ´Ï´Ù
dogbull 2019-01
Ãâ·Â¸¶´Ù ´ÙÀº ÆÄÀÏ·Î º¸³»±æ ¿øÇÑ´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÇ°Ú½À´Ï´Ù.
fp1=open('log1.txt', 'w')
fp2=open('log2.txt', 'w')
print(1, file=fp1)
print(2, file=fp2)
dogbull 2019-01
ÄÚµå ¼öÁ¤ ¾øÀÌ ¾Æ·¡¿Í °°ÀÌÇصµ µÇ°Ú³×¿ä.(ÇÏÁö¸¸ save_result °ü·Ã ±¸¹®Àº Áö¿ì¼Å¾ßÇÒ°Í °°¾Æ¿ä.)
python ½ºÅ©¸³Æ®¸í.py > log.txt
     
³×ÀÌÃÄ 2019-01
´äº¯ °¨»çÇÕ´Ï´Ù.

¸»¾¸ÇØÁֽŴë·Î Çغ¸´Ï Àß µÇ¾ú½À´Ï´Ù~
±×·±µ¥ Àú ÇÔ¼ö¸íÀ» °¡Á®´Ù°¡ ¾µ ¼ö´Â ¾ø³ª¿ä?
È­¸é¿¡ Ãâ·Âµµ µÇ¸é¼­, ÀúÀåµµ µ¿½Ã¿¡ µÇ°Ô ÇÏ°í½Í°Åµç¿ä~
timeleaf 2019-01
import logging »ç¿ëÇÏ¸é µÉ °Í °°¾Æ¿ä
print ´ë½Å¿¡ logging.info »ç¿ëÇÏ°í¿ä
https://docs.python.org/ko/3/howto/logging.html
     
³×ÀÌÃÄ 2019-01
´äº¯ °¨»çÇÕ´Ï´Ù.

¾ÆÁ÷ ¿Í´êÁö ¾ÊÁö¸¸, Àß Âü°íÇؼ­ °øºÎÇغ¸°Ú½À´Ï´Ù~


QnA
Á¦¸ñPage 1412/5685
2015-12   1500795   ¹é¸Þ°¡
2014-05   4964350   Á¤ÀºÁØ1
2016-03   3557   lovemiai
2017-08   3557   ¿©ÁÖ³ó¹Î76
2019-11   3557   ¹Ú¹®Çü
2017-04   3557   ¸í¼ºÈ£
2017-05   3557   ÄÚÄí
2018-07   3557   ¹Ú¹®Çü
2019-08   3557   newretrowave
2015-11   3557   ±è°Ç¿ì
2018-07   3557   ¹Ì³ª¸®³ª¹°
2020-03   3557   ¹Ì¼ö¸Ç
2019-05   3557   ±¸´ëÀÇ
2014-03   3557   ÀÌÁöÆ÷Åä
2017-05   3558   ¹Ì¼ö¸Ç
2021-02   3558   °í¿äÇѹٶ÷
2019-06   3558   »õ·Î¿îÂ÷¿ø
2015-03   3558   Á¶º´Ã¶
2016-11   3558   ¸¼ÀººÎö
2020-09   3558   ¹ÚÁß¼®
2014-01   3558   ¹èÁؼ®
2017-04   3558   ÀüÁ÷P¿¬±¸¿ø