【问题标题】:Evaling files in directory评估目录中的文件
【发布时间】:2024-01-12 21:18:01
【问题描述】:

有没有办法让 python-mode 评估目录中的所有文件(或者至少是我从中导入的所有文件)?

当我处理从同一目录中的另一个文件导入的文件时,我必须杀死并重新创建劣质 python 进程,以便获取在依赖文件中所做的更改。

【问题讨论】:

    标签: python emacs python-mode


    【解决方案1】:

    试试这个:

    (require 'cl-lib)
    
    (defun eval-all-the-python ()
      (interactive)
      (mapcar #'python-shell-send-file
              (cl-remove-if-not
               (lambda(x)(string-match "py$" x))
               (directory-files default-directory))))
    

    只需将其粘贴到 *scratch*C-j 两个表达式之后。 M-x eval-all-the-python 访问其中一个 python 文件时。 请务必使用emacs -q 进行测试。

    【讨论】:

    • 这似乎也不起作用。我对 python 和 python-mode 比较陌生,但我觉得这与编译有关。即使我手动 eval 和 shell-send-file 每个缓冲区,我仍然没有收到更改。就像 Inferior Python 进程使用旧的 .pyc 文件而不重新编译任何东西一样。
    • emacs -q再次测试
    【解决方案2】:

    编写一个脚本来读取目录并评估其中的文件。运行那个。

    【讨论】: