2012-10-08 20 views
17

Tôi biết lệnh ma thuật IPython %paste, điều này khá hữu ích nếu bạn có mã hợp lệ để chèn. Bây giờ tôi không muốn chèn mã, tôi chỉ muốn lưu trữ một số chuỗi từ bộ đệm sao chép dưới dạng biến. Có cách nào đơn giản hơn để làm điều đó, ngoại trừ sao chép chuỗi vào một số trình soạn thảo văn bản riêng biệt và sửa đổi nó trước?Dán chuỗi dưới dạng biến, không phải là đoạn mã thực thi, vào IPython

Something như thế này sẽ được tốt đẹp, nhưng không ai trong số họ đang làm việc:

strvar = %paste 
strvar = """%paste""" 

T.B. Chuỗi dài và chứa các ký tự đặc biệt, v.v. do đó ctrl-c đơn giản chỉ tạo ra các thông báo rác và thông báo lỗi.

+0

Tôi biết cách% dán hoạt động. Đây không phải là câu hỏi, và tôi tự hỏi nếu bạn đọc câu hỏi ở tất cả, trước khi bạn downvoted nó oO – Michael

+0

Nếu bạn mở dấu ngoặc kép và sau đó dán từ clipboard, không nên có bất kỳ thông báo lỗi. –

+2

Không, điều này chỉ cho phép "% dán" dưới dạng chuỗi chứ không phải bảng tạm. – Michael

Trả lời

27
%paste strvar 

cung cấp cho bạn danh sách các dòng từ văn bản được sao chép. Bạn có thể làm

strvar = '\n'.join(strvar) 

để lấy văn bản trong một chuỗi.

+0

Tuyệt vời, cảm ơn! – Michael

+10

Nó thực sự là một phân lớp danh sách đặc biệt - bạn có thể làm 'strvar.n' để có được văn bản nối kết dòng mới. Tương tự 'strvar.s' để tách biệt khoảng cách. –