2
Jupyter 노트북 셀에서 클릭 라이브러리를 사용하는 방법이 있습니까? 노트북 내의 내 Jupyter 노트북 코드에 플래그를 전달하여 으로 전환하여 독립 실행 형 스크립트로 부드럽게 전환 할 수 있습니다. 예를 들어, Jupyter 노트북 세포에서 OptionParser를 사용하여 :jupyter 노트북 셀에 클릭 라이브러리 사용
from optparse import OptionParser
import sys
def main():
parser = OptionParser()
parser.add_option('-f', '--fake',
default='False',
help='Fake data')
(options,args) = parser.parse_args()
print('options:{} args: {}'.format(options, args))
if options.fake:
print('Fake detected')
def test_args():
print('hello')
if __name__ == '__main__':
sys.argv = ['--fake', 'True' '--help']
main()
출력 : 옵션 : { '가짜': '거짓'} 인수 : [ '트루 - 도움'] 가짜
검출 클릭 라이브러리를 사용하면 오류가 발생합니다.
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name',
help='The person to greet.')
def hello(count, name):
"""Simple program that greets NAME for a total of COUNT times."""
for x in range(count):
click.echo('Hello %s!' % name)
if __name__ == '__main__':
hello()
OUPUT (절단) : 나는 Jupyter 노트북 세포에서이 코드를 실행
UnsupportedOperation Traceback (most recent call last)
<ipython-input-6-ad31be7bf0fe> in <module>()
12 if __name__ == '__main__':
13 sys.argv = ['--count', '3']
---> 14 hello()
~/.local/lib/python3.6/site-packages/click/core.py in __call__(self, *args, **kwargs)
720 def __call__(self, *args, **kwargs):
721 """Alias for :meth:`main`."""
--> 722 return self.main(*args, **kwargs)
723
724
...
257
258 if message:
--> 259 file.write(message)
260 file.flush()
261
UnsupportedOperation: not writable
감사합니다. – oppy