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

   Á¶È¸ 9608   Ãßõ 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 4981/5682
2015-12   1488519   ¹é¸Þ°¡
2014-05   4951929   Á¤ÀºÁØ1
2010-08   9595   ÀϹÝÀ¯Àú
2003-10   9595   ¿ø³«¿¬
2003-04   9596   ¼ÛÁß¼·
2010-04   9596   ±èÁ¤°­
2003-11   9596   ¹ÚÈļº
2003-04   9597   ±è¿µ±â
2019-01   9597   ¸Ó¸®°¨ÀÚ
2003-10   9597   ±èÇö¹Î
2011-01   9597   KindOfBlue
2009-11   9597   ±è»óÀÏ
2014-02   9597   ¹Ú
2010-08   9597   Â÷Æò¼®
2010-12   9597   ¶¯°¨
2015-10   9597   ³ªÆÄÀÌ°­½ÂÈÆ
2003-11   9597   °íÇö¼®
2003-12   9597   ¹®Ãß±â
2020-06   9598   ÀÌÈñÁÖ
2003-09   9600   À±Ä¡¿­
2016-10   9600   ÅõÆÅ16
2016-05   9602   ¹Ì¼ö¸Ç