如何将终端中python提示符下的代码保存到本地文件

如何将终端中python提示符下的代码保存到本地文件,python,terminal,Python,Terminal,我刚刚在终端的Python提示符上写了一大堆代码。现在,我想将所有这些代码行保存到.py文件中 我不知道该怎么做。我能在StackOverflow上找到的唯一一件事是,它只在iPython笔记本上显示了如何做到这一点。我没有使用iPython笔记本。我正在终端的命令行上运行代码 我试图遵循这个答案(因为以防万一),并在终端上运行了%savemagic命令,但它给出了一个SyntaxError 那么,如何保存它呢 谢谢 您可以尝试使用另一个解释器:,我相信它有您需要的,请查看 将输入的代码保存到文

我刚刚在终端的Python提示符上写了一大堆代码。现在,我想将所有这些代码行保存到
.py
文件中

我不知道该怎么做。我能在StackOverflow上找到的唯一一件事是,它只在iPython笔记本上显示了如何做到这一点。我没有使用iPython笔记本。我正在终端的命令行上运行代码

我试图遵循这个答案(因为以防万一),并在终端上运行了
%save
magic命令,但它给出了一个
SyntaxError

那么,如何保存它呢


谢谢

您可以尝试使用另一个解释器:,我相信它有您需要的,请查看

将输入的代码保存到文件中


你可以尝试使用另一个解释器:,我相信它有你需要的,检查一下

将输入的代码保存到文件中


您似乎受到了一种误解的影响,即python环境是以工作区为中心的(类似于我从Smalltalk和一些LISP变体中了解到的):

  • 启动初始工作区
  • 随意修改
  • 存储结果

不幸的是,情况并非如此。虽然您可以导入现有文件,但另一个选项是将现有文件指定为最初要加载的文件,并使用
-i
选项保持解释器处于打开状态。

您似乎受到了一个误解的影响,即python环境是以工作区为中心的(类似于我从Smalltalk和一些LISP变体中了解到的):

  • 启动初始工作区
  • 随意修改
  • 存储结果

不幸的是,情况并非如此。虽然您可以导入现有文件,但另一个选项是将现有文件指定为最初要加载的文件,并使用
-i
选项保持解释器打开。

具体命令取决于您的终端

一般的想法是将所有内容(如果可能)或一次一页从终端复制到文本编辑器中,然后清除文本编辑器中的
>
提示(可能还有其他格式问题)


但是无论如何,如果真的是糟糕的做法,那么直接在执行环境中键入大量命令。至少您测试了一小部分行,并立即将它们保存到一个文件中。IDLE在这个游戏中非常棒…

它实际上取决于您的终端是否有确切的命令

一般的想法是将所有内容(如果可能)或一次一页从终端复制到文本编辑器中,然后清除文本编辑器中的
>
提示(可能还有其他格式问题)

但是无论如何,如果真的是糟糕的做法,那么直接在执行环境中键入大量命令。至少您测试了一小部分行,并立即将它们保存到一个文件中。IDLE在这个游戏中非常棒…

请参阅。正如wu所解释的,python提示符正在使用readline,您可以导入python库来访问它

导入readline >>>readline.write_history_文件('/path/to/history.txt')) 请参阅。正如wu所解释的,python提示符正在使用readline,您可以导入python库来访问它

导入readline >>>readline.write_history_文件('/path/to/history.txt'))
Cntrl-C
Cntrl-V
?你的意思是我选择每个LOC并对所有LOC逐个执行
Ctrl-C
Ctrl-V
@scharetteWell,首先不要在终端中编写复杂的代码。现在,如果您已经编写了几行代码。使用
Cntrl-A
获取所有终端内容,并将其格式化为
.py
文件中的有效python。您使用的是空闲终端还是您指的是什么终端?我理解,我在回答中建议了另一个解释器,但如果您想保存您输入的LOC,最简单的方法是如上所述将日志保存为txt或.py,您可以查找“>>>”以指示新终端命令的开始,然后将好的代码行复制粘贴到新文件中。
Cntrl-C
Cntrl-V
?你的意思是我选择每个LOC,然后对所有LOC逐个执行
Ctrl-C
Ctrl-V
@scharetteWell,首先不要在终端中编写复杂的代码。现在,如果您已经编写了几行代码。使用
Cntrl-A
获取所有终端内容,并将其格式化为
.py
文件中的有效python。您使用的是空闲终端还是您指的是什么终端?我理解,我在回答中建议了另一个解释器,但如果您想保存您输入的LOC,最简单的方法是如上所述将日志保存为txt或.py,您可以查找“>>>”,它指示新终端命令的开始,然后将好的代码行复制粘贴到新文件中。