Mục tiêu của tôi là để gọi ipython
, trong khi cũng đăng nhập tất cả các đầu vào/đầu ra để IPython, và thấy cái gì đó như:Làm thế nào tôi có thể đăng nhập đầu ra của IPython mà không có 7 dòng đăng nhập-thông tin xấu xí trên mỗi tải?
[email protected] ~ $ ipython
In [1]: exit
[email protected] ~ $
Các biểu ngữ có thể dễ dàng gỡ bỏ nếu tôi đặt
c.TerminalIPythonApp.display_banner = False
trong của tôi ~/.ipython/profile-default/ipython_config.py
tệp.
Nhưng làm cách nào để có được sự khởi động sạch này trong khi cũng ghi lại nội dung?
Trên một tươi cài đặt, nếu tôi bắt đầu IPython không có tham số tôi thấy:
[email protected] ~ $ ipython
Python 2.7.3 (default, Jun 20 2013, 12:50:58)
Type "copyright", "credits" or "license" for more information.
IPython 0.13.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: exit
[email protected] ~ $
Nếu tôi vượt qua một đối số logfile=logfile.txt
khi gọi IPython tôi thấy:
[email protected] ~ $ ipython --logfile=logfile.txt
Activating auto-logging. Current session state plus future input saved.
Filename : logfile.txt
Mode : backup
Output logging : False
Raw input log : False
Timestamping : False
State : active
Python 2.7.3 (default, Jun 20 2013, 12:50:58)
Type "copyright", "credits" or "license" for more information.
IPython 0.13.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: exit
[email protected] ~ $
Làm thế nào tôi có thể sử dụng ghi nhật ký mà không thêm sự lộn xộn thêm vào thiết bị đầu cuối của tôi:
Activating auto-logging. Current session state plus future input saved.
Filename : logfile.txt
Mode : backup
Output logging : False
Raw input log : False
Timestamping : False
State : active
Trên máy khác tôi có IPython cấu hình để tự động đăng nhập mọi thứ bằng việc có một .ipython/profile_default/startup/01-log-everything.py
có chứa dòng:
from time import strftime
import os.path
ip = get_ipython()
ldir = ip.profile_dir.log_dir
fname = strftime('%Y-%m-%d-%H-%M-%S') + ".py"
filename = os.path.join(ldir, fname)
ip.run_line_magic('logstart', '-o %s append' % filename)
mà kết quả trong sự lộn xộn giống như khi tôi thêm --logfile=logfile.txt
Bất kỳ giúp đỡ về cách làm việc đúng cách điều này sẽ được đánh giá cao. Tôi có thể nếu không có gì khác chuyển hướng sys.stdout, cấu hình đăng nhập và sau đó đặt lại sys.stdout nhưng tôi hy vọng có một giải pháp ít hackish.
Một câu hỏi tương tự đã được hỏi ở đây: http: // stackoverflow.com/questions/947810 – BugoK
@BugoK, cảm ơn - câu hỏi trong bài đăng đó hơi tương tự như tôi đoán, nhưng những gì tôi đang cố gắng làm là rất cụ thể và không được đề cập trong bài đăng đó hoặc bất cứ nơi nào khác, tốt nhất tôi có thể nói. –