Các dòng bắt đầu bằng ...
được giữ nguyên. Tôi ngạc nhiên là chúng không bị xóa bởi tùy chọn copybutton_only_copy_prompt_lines
. Trong bất kỳ trường hợp nào. Điều tôi thực sự muốn là coi ...
cũng là dấu nhắc, tôi. e. giữ nguyên các dòng nhưng xóa ...
. Điều này có thể liên quan đến #52
Bảng đầu ra ở cuối, cũng được sao chép. Một lần nữa, điều này sẽ không xảy ra với tùy chọn copybutton_only_copy_prompt_lines
hiện tại
Tôi không giỏi Js lắm nhưng nếu các bạn thừa nhận vấn đề thì tôi có thể PR. Nhưng nếu nó dễ dàng với bạn, hãy tiếp tục 😃
Trong nhiều năm, tôi đã viết python trong một trình soạn thảo văn bản [sang chảnh] và dán các đoạn mã vào shell đang chạy python để thực thi chúng. Bằng cách này, tôi có thể thực hiện thay đổi nhanh chóng, thử nghiệm mà không cần phải chạy đi chạy lại tất cả mã. Tôi không muốn chờ đợi lặp đi lặp lại tất cả các lần nhập và khởi chạy cũng như các bước đầu tiên của một quy trình dài. Tôi có thể nhanh chóng mân mê vài dòng ở giữa chương trình. Cách làm việc này đã rất tuyệt vời trong nhiều năm, nhiều thập kỷ.
Rồi vài ngày trước, không còn nữa. Dán nhiều hơn một dòng sẽ báo lỗi. Trăn 3. 9. 0 và 3. 9. 1 có một trình phân tích cú pháp mới không thể nuốt nhiều dòng cùng một lúc. Rõ ràng vấn đề đã được khắc phục trong 3. 9. 2 nhưng tôi sẽ không nâng cấp bất cứ thứ gì cho đến khi nào đó "sau này".
Video YT này cho thấy vấn đề. https. //www. youtube. com/watch?v=CrTzBpVdcVM
Tôi đã hỏi về vấn đề này trên StackOverflow , lúc đầu tôi cho rằng tôi có cú pháp sai hoặc đã sử dụng [ ] nơi lẽ ra tôi phải có { } hoặc một số thứ tương tự. Tôi luôn bắt đầu với việc cho rằng mình không tập luyện, quên một số chi tiết, có một nơ-ron khác cắn bụi. Nhưng đó là Python
Sorry, I cannot reproduce that behavior. The output you show isn't what I would expect, in any case. $ python3.8 Python 3.8.7 [v3.8.7:6503f05dd5, Dec 21 2020, 12:45:15] [Clang 6.0 [clang-600.0.57]] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> def f[]: .. print["hello world"] ... >>> ^D $ python3.9 Python 3.9.1 [v3.9.1:1e5d33e9b9, Dec 7 2020, 12:44:01] [Clang 12.0.0 [clang-1200.0.32.27]] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> def f[]: .. print["hello world"] ... >>> ^D Note the missing '...' continuation prompts. So can you verify that the text when you paste it includes just a standard linefeed [LF] control character as the end-of-line delimiter? Other possible differences might be whether the python in use was linked with the BSD libedit library or with GNU readline but that shouldn't make a difference unless you have some non-default options in their configuration files. You can check which one is in use with this: $ python3.8 -c "import readline;print[readline.__doc__]" Importing this module enables command line editing using GNU readline. $ python3.9 -c "import readline;print[readline.__doc__]" Importing this module enables command line editing using libedit readline. If all else fails, from where did you obtain the pythons that you are using? And in what environment are you running those commands, i.e. the macOS Terminal.app?
Nhân tiện, IDE PyScripter cho phép bạn diễn giải mã nguồn của mình mà không cần phải tạo tệp chính thức. Tôi ghét vỏ Python, chỉ một lớp lót thôi cũng được
Nếu tôi bị mắc kẹt trên một…
Tất cả 6 câu trả lời
Cầu chì 17 Áp phích chiếu sáng Tôi mới bắt đầu làm quen với Python và đã có khoảng thời gian tuyệt vời khi nhập các lệnh GUI của Tkinter vào trình bao Python [ActivePython 2. 5]. Dù sao, tôi tự hỏi liệu có cách nào để dán nhiều dòng mã nguồn [cùng một lúc] Cũng. Có chức năng nào khiến chuỗi được hiểu là lệnh không? Tôi đề xuất tiêu chuẩn IDLE thay thế. Tôi thấy ActivePython thiếu các tính năng [vùng thụt lề, vùng thụt lề, vùng chú thích, vùng không ghi chú] nhưng lại không chứa các tính năng mới [hữu ích] Đối với dán nhiều dòng. tốt, bạn có thể dán nhiều dòng, nhưng dường như nó chỉ đánh giá dòng đầu tiên Thay vào đó, những gì bạn có thể làm là lồng nhiều dòng đó vào một hàm, sau đó dán nó vào bây giờ gõ test[] cho kết quả 'foobah' trong khi line1 = 'bah' sẽ chỉ đánh giá line1 = 'bah'
Thật thú vị khi nhập từng lệnh một và thấy các thành phần xuất hiện theo thời gian thực [thay vì quy trình thông thường phải biên dịch toàn bộ trước]. def test[]:
line1 = 'bah'
line2 = 'foo'
print line2 + line1
line2 = 'foo'
in dòng2 + dòng1
Điều này chỉ dễ dàng hơn một chút so với việc tạo một tập lệnh thực tế, vì bạn có thể tránh tạo một tệp chỉ để kiểm tra
Sử dụng lại các chuỗi làm lệnh. bối cảnh là gì?
Ồ, và tôi thực sự khuyên dùng wxPython trên Tkinter. IMHO mạnh mẽ, trực quan và dễ sử dụng hơn nhiều. Cũng mới hơn. http. //www. wxpython. tổ chức/trích dẫn. php
Lưu ý các từ của Eric S. Raymond và Guido van Rossum [người sáng tạo Python]
0 0
Chia sẻ
sneekula 969 Gần thành Maven đăng bài
14 năm trướcHàm Python eval[] sẽ lấy một chuỗi và cố gắng đánh giá/diễn giải nó
Nhân tiện, IDE PyScripter cho phép bạn diễn giải mã nguồn của mình mà không cần phải tạo tệp chính thức. Tôi ghét vỏ Python, chỉ một lớp lót thôi cũng được
Nếu tôi bị mắc kẹt trên một hòn đảo và chỉ được phép sử dụng một bộ công cụ Python GU, tôi sẽ dùng wxPython. Trên thực tế, Fuse đã để lại một bài giới thiệu rất hay về lập trình wxPython tại đây
0 0
Chia sẻ
DustinS 0 Áp phích dành cho người mới
14 năm trướcTôi đã thử eval['a=1'] nhưng không được. Tôi đã tra cứu cú pháp của eval và phát hiện ra rằng exec chính là hàm mà tôi đang tìm kiếm
>BTW, IDE PyScripter cho phép bạn diễn giải mã nguồn của mình mà không cần phải tạo tệp chính thức. Tôi ghét vỏ Python, chỉ một lớp lót thôi cũng được
Thanks
Có cách nào để chạy một đoạn mã nguồn, sau đó mở trình bao có quyền truy cập [và có thể thay đổi] các biến và hàm giống như đã được xác định trong tập lệnh không?
0 0
Chia sẻ
DustinS 0 Áp phích dành cho người mới
14 năm trước> Đối với việc dán nhiều dòng. tốt, bạn có thể dán nhiều dòng, nhưng dường như nó chỉ đánh giá dòng đầu tiên
>Những gì bạn có thể làm thay vào đó là lồng nhiều dòng đó vào một hàm, rồi dán nó vào
>
def test[]:
line1 = 'bah'
line2 = 'foo'
print line2 + line1
cảm ơn vì tiền hỗ trợ
0 0
Chia sẻ
sneekula 969 Gần thành Maven đăng bài
14 năm trướcCó một IDE nhỏ gọi là PyPE cho phép bạn chạy mã đã chọn trong trình bao. Nó có cửa sổ shell cao cấp hơn của riêng mình