3

IPython プロンプトでローカルのタイムスタンプを取得する方法はありますか? 64 ビット Windows Vista で IPython 0.10 と Python 2.6 を使用しています。

私の現在のデフォルトのプロンプトは

[C:Python26/Scripts]
|9>

OK、あなたの指示に正確に従おうとしました。ただし、私の経験では、すべての構成編集は自分のipy_user_conf.py. それから引用するには:

User configuration file for IPython (ipy_user_conf.py)

This is a more flexible and safe way to configure ipython than *rc files
(ipythonrc, ipythonrc-pysh etc.)

This file is always imported on ipython startup. You can import the
ipython extensions you need here (see IPython/Extensions directory).

Feel free to edit this file to customize your ipython experience.

Note that as such this file does nothing, for backwards compatibility.
Consult e.g. file 'ipy_profile_sh.py' for an example of the things 
you can do here.

See http://ipython.scipy.org/moin/IpythonExtensionApi for detailed
description on what you could do here.

したがって、main() に次の行があります。

# -- prompt
# A different, more compact set of prompts from the default ones, that
# always show your current location in the filesystem:

o.prompt_in1 = r'\C_LightBlue[\C_LightCyan\Y2\C_LightBlue]\C_Normal\n\C_Green|\#>'
o.prompt_in2 = r'.\D: '
o.prompt_out = r'[\#] '

そして、例として、これを取得します:

16:49:50 In[9]:1/7
1           [9] 0.14285714285714285

16:50:09 In[10]:

質問:

  1. それは何1ですか?
  2. プロンプトで現在のディレクトリを保持するにはどうすればよいですか? 以前、私は持っていました

    [C:Python26/Scripts]
    |8>
    

気持ちでもう一度。私が作った混乱をとても残念に思います。実際に追加または変更した行は次のとおりです。

import_all("os sys random datetime")
o.prompt_in1 = r'\C_LightBlue[\C_LightCyan\Y2\C_LightBlue]\C_Normal\n\C_Green|\#>'
o.prompt_in1 = r'${datetime.now().strftime("%H:%M:%S")}[\#]:'
o.prompt_out = r'[\#] '
4

1 に答える 1

2

最も簡単な方法は、ipythonrc(home\_ipython ディレクトリで) を編集し、次の行を追加することです。

import_mod datetime
prompt_in1 '${datetime.datetime.now()} In [\#]: '
# or
prompt_in1 '${datetime.datetime.now().strftime("%H:%M:%S")} In [\#]: '

import_mod datetimeまたは、 をrc ファイルに追加し、これをipy_user_conf.py(同じディレクトリにある)の main() 関数に追加することもできます。

o = ip.options
o.prompt_in1 = r'${datetime.datetime.now()} In [\#]: '
# or
o.prompt_in1 = r'${datetime.datetime.now().strftime("%H:%M:%S")} In [\#]: '
于 2010-10-11T00:47:05.543 に答える