小编Jac*_*uot的帖子

如何将"重新导入"模块转换为python,然后在导入后更改代码

我有一个 foo.py

def foo():
    print "test"
Run Code Online (Sandbox Code Playgroud)

在IPython中我使用:

In [6]:  import foo
In [7]:  foo.foo()
test
Run Code Online (Sandbox Code Playgroud)

然后我改为foo():

def foo():
    print "test changed"
Run Code Online (Sandbox Code Playgroud)

在IPython中,调用的结果仍然是test:

In [10]:  import foo
In [11]:  foo.foo()
test
Run Code Online (Sandbox Code Playgroud)

然后我用:

In [15]: del foo
In [16]:  import foo
In [17]:  foo.foo()
test
Run Code Online (Sandbox Code Playgroud)

我删除了foo.pyc相同的文件夹foo.py存在,但仍然没有运气.

我可以知道如何在运行时重新导入更新的代码吗?

python overloading runtime ipython python-import

73
推荐指数
4
解决办法
5万
查看次数

在Matplotlib中显示绘图之前获取空的刻度标签

我遇到了与此处报道的类似问题.我不明白为什么刻度标签文本是一个空字符串:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,2*np.pi,100)
y = np.sin(x)**2

fig, ax = plt.subplots()
ax.plot(x,y)

labels = ax.get_xticklabels()
for label in labels:
    print(label)

plt.show()
Run Code Online (Sandbox Code Playgroud)

输出:

Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Run Code Online (Sandbox Code Playgroud)

我得到了相同的结果,ax.xaxis.get_ticklabels()但绘制的图表在保存或显示时在x轴上显示了八个标记的刻度.但是,如果我显示绘图要求标签,则labels列表已正确填充.当然,做一些关于改变它们的事情有点晚了.

fig, ax = plt.subplots()
ax.plot(x,y)
plt.show()

labels = ax.get_xticklabels()
for label in labels:
    print(label)
Run Code Online (Sandbox Code Playgroud)

输出:

Text(0,0,'0')
Text(1,0,'1')
Text(2,0,'2')
Text(3,0,'3')
Text(4,0,'4')
Text(5,0,'5')
Text(6,0,'6')
Text(7,0,'7')
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况(Mac OS X Yosemite,Matplotlib 1.5.1)以及如何显示或保存我的情节之前 …

python label matplotlib python-3.x

19
推荐指数
1
解决办法
1万
查看次数

swagger编辑器中的多行文字?

我试图在Swagger编辑器中获得一个多行文字(顺便说一下,这是一个很棒的工具!).

  post:
    summary: Translate one or more identifiers
    description: |
Translate one or more identifiers for one entity into the
identifiers of another entity. Translate one or more
identifiers for one entity into the identifiers of another entity.

    consumes:
    - application/json
Run Code Online (Sandbox Code Playgroud)

我试过了| 和>,具有不同的结尾(增加缩进与空行),以及我能想到的每一种方式,但它总是给出相同的错误:

YAML Syntax Error
Can not read a block mapping entry; a multiline key may not be an implicit  
key at line 24, column 15: consumes: ^
Run Code Online (Sandbox Code Playgroud)

我看到JS-YAML的错误表明问题是最终的Windows风格的换行符,我知道HTML textareas可以创建.这是我第一次真正使用YAML,那么只是我做错了什么,或者是Swagger编辑器中的错误?

yaml indentation swagger swagger-editor

12
推荐指数
3
解决办法
2万
查看次数