2013-09-25 76 views
14

Bảng điều khiển IPython in danh sách các phần tử có ngắt dòng sao cho mỗi phần tử được hiển thị theo dòng riêng của nó. Đây thường là một tính năng, nhưng trong trường hợp của tôi nó là một lỗi: Tôi cần phải sao chép và dán danh sách dài, vì vậy tôi cần một đại diện nhỏ gọn. Làm thế nào tôi có thể đạt được điều này?Làm thế nào để làm cho Ipython xuất ra một danh sách không có ngắt dòng sau các phần tử?

+1

Nếu bạn 'in thelist', nó sẽ được hiển thị ở định dạng Python chuẩn. –

Trả lời

28

Bạn có thể sử dụng %pprint lệnh để bật/tắt tính năng pprint:

In [1]: range(24) 
Out[1]: 
[0, 
1, 
2, 
... 
21, 
22, 
23] 

In [2]: %pprint 
Pretty printing has been turned OFF 

In [3]: range(24) 
Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] 

Nếu bạn muốn tắt pprint vĩnh viễn, hãy lập hồ sơ và thêm c.PlainTextFormatter.pprint = False vào tệp hồ sơ.

Linux dụ:

$ ipython profile create 
[ProfileCreate] Generating default config file: '.../ipython_config.py' 
[ProfileCreate] Generating default config file: u'..../ipython_notebook_config.py' 
$ echo 'c.PlainTextFormatter.pprint = False' >> ~/.ipython/profile_default/ipython_config.py 
5

Bắt đầu ipython với tùy chọn --no-pprint.

$ ipython --no-pprint 
... 
IPython 0.13.2 -- An enhanced Interactive Python. 
... 
In [1]: lis = ['a'*10]*10 

In [2]: lis 
Out[2]: ['aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa'] 

tùy chọn khác là để bắt đầu ipython với --classic tùy chọn, trong pprint rằng đã bị vô hiệu hóa:

$ ipython --classic 
... 
IPython 0.13.2 -- An enhanced Interactive Python. 
... 
>>> lis = ['a'*10]*10 
>>> lis 
['aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa'] 
+0

BTW, [IPython 1.1.0] (http://ipython.org/ipython-doc/rel-1.1.0/whatsnew/version1.0.html) đã hết, tôi hoàn toàn không gặp vấn đề gì với nó xa ... – MattDMo

+0

@MattDMo Cảm ơn, sẽ sớm cập nhật. ;-) –

0

Một thay thế cho cách tắt khá in hoàn toàn là để tăng max_width đặc điểm cho PlainTextFormatter.

Thêm dòng sau vào ipython_config.py (tìm thấy nó bằng ipython locate profile):

c.PlainTextFormatter.max_width = 120 

mà sẽ cho phép máy in đẹp, để sử dụng không gian ít dọc bằng cách cho phép dòng để mở rộng ra tới 120 ký tự chứ không phải là mặc định của 79.