Function: python-shell-send-string
python-shell-send-string is an interactive and byte-compiled function
defined in python.el.gz.
Signature
(python-shell-send-string STRING &optional PROCESS MSG)
Documentation
Send STRING to inferior Python PROCESS.
When optional argument MSG is non-nil, forces display of a user-friendly message if there's no process running; defaults to t when called interactively.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/python.el.gz
(defun python-shell-send-string (string &optional process msg)
"Send STRING to inferior Python PROCESS.
When optional argument MSG is non-nil, forces display of a
user-friendly message if there's no process running; defaults to
t when called interactively."
(interactive
(list (read-string "Python command: ") nil t))
(let ((process (or process (python-shell-get-process-or-error msg)))
(code (format "__PYTHON_EL_eval(%s, %s)\n"
(python-shell--encode-string string)
(python-shell--encode-string (or (buffer-file-name)
"<string>")))))
(unless python-shell-output-filter-in-progress
(with-current-buffer (process-buffer process)
(save-excursion
(goto-char (process-mark process))
(insert-before-markers "\n"))))
(if (or (null (process-tty-name process))
(<= (string-bytes code)
(or (bound-and-true-p comint-max-line-length)
1024))) ;; For Emacs < 28
(comint-send-string process code)
(let* ((temp-file-name (with-current-buffer (process-buffer process)
(python-shell--save-temp-file string)))
(file-name (or (buffer-file-name) temp-file-name)))
(python-shell-send-file file-name process temp-file-name t)))))