Есть ли способ получить локальную метку времени в моем приглашении IPython? - PullRequest
3 голосов
/ 07 октября 2010

Есть ли способ получить локальную метку времени в моем приглашении IPython? Я использую IPython 0.10 и Python 2.6 в 64-битной Windows Vista.

Моя текущая подсказка по умолчанию

[C:Python26/Scripts]
|9>

ОК, я пытался точно следовать вашим указаниям. Тем не менее, по моему опыту, все изменения конфигурации лучше всего сохранять на моем 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'[\#] '

1 Ответ

2 голосов
/ 11 октября 2010

Самый простой способ - отредактировать ipythonrc (в вашем домашнем каталоге \ _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файла, и добавьте это к функции main () ipy_user_conf.py (в том же каталоге):

o = ip.options
o.prompt_in1 = r'${datetime.datetime.now()} In [\#]: '
# or
o.prompt_in1 = r'${datetime.datetime.now().strftime("%H:%M:%S")} In [\#]: '
...