到目前为止,在Python解释器会话中输入代码

时间:2015-03-04 01:07:17

标签: python shell command-line interactive-session

到目前为止,是否有一种快速,方便的方法可以将所有代码输入到python解释器中?例如,如果我将其输入翻译:

Steven$ python
Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hi"
hi
>>> a = [1,2,3]
>>> for e in a:
...   print e
... 
1
2
3
>>> print "bye"
bye
>>> 

我想得到这些内容:

print "hi"
a = [1,2,3]
for e in a:
  print e
print "bye"

2 个答案:

答案 0 :(得分:5)

您可以使用readline模块。

Python 2.7.5 (default, Nov  3 2014, 14:26:24) 
[GCC 4.8.3 20140911 (Red Hat 4.8.3-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hi"
hi
>>> a = [1,2,3]
>>> for e in a:
...     print e
... 
1
2
3
>>> print "bye"
bye
>>> import readline
>>> readline.write_history_file('history.py')

文件history.py将包含您的历史记录,包括最后两行:

$ cat history.py
print "hi"
a = [1,2,3]
for e in a:
    print e
print "bye"
import readline
readline.write_history_file('history.py')

答案 1 :(得分:0)

%历史魔术功能应该为你做。

In [1]: l = [1,2,3]

In [2]: %history
l = [1,2,3]
%history

如果您发现这样做,通常会考虑使用ipython notebook.