有没有办法告诉 pdb 或 ipdb 跳过所有未来的断点并完成执行,就好像它们不存在一样?
有没有办法让 python 的 argparse.ArgumentParser 像 python 函数处理参数一样处理命令行参数?那么参数可以不用名字就传递吗?
正如在标题中,我希望它也是一个南方.这个号码特别吗?
所以,举个例子,我在ipython会话中,我有一个变量,
var = [3,5,6]
Run Code Online (Sandbox Code Playgroud)
在ipython会话中定义,我想通过运行脚本来做一些事情,例如:
# my_script
plot(var)
Run Code Online (Sandbox Code Playgroud)
所以我要打字
%run my_script.py
Run Code Online (Sandbox Code Playgroud)
从交互式会话到plot var,好像我输入了:
plot(var)
Run Code Online (Sandbox Code Playgroud)
在交互式会话中.
这可能吗?怎么样?
康达的"根"环境是什么?它只是一个使用(仅)系统包的环境吗?
其他环境是否也使用系统包(我会假设优先考虑他们的重复版本)?
或者我是否需要在我想要使用它们的环境中安装我的所有软件包?
有没有办法将其配置为选项?
我安装了一个系统软件包,但是当我在conda环境中时无法导入它.
我还没有找到在背面同时选择多个文件的方法,这使得删除或移动许多文件非常耗时。
有什么我想念的吗?
我想将所有 npy/npz 文件加载到我的交互式 python shell 中,所以我不必去:
var1 = np.load('var1.npy')
Run Code Online (Sandbox Code Playgroud)
为每一个。我制作了这个脚本,但它不起作用,因为它的变量命名空间就在脚本中(假设缩进是正确的)。这样做的正确方法是什么?
def load_all():
import numpy as np
from os import listdir
from os.path import isfile, join
from os import getcwd
mypath = getcwd()
print 'loading all .npy and .npz files from ',mypath
files = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
for f in files:
if f[-4:] in ('.npy','.npz'):
name = f[:-4]+'_'+f[-3:]
print 'loading', f, 'as', name
var = np.load(f)
exec(name + " = var")
Run Code Online (Sandbox Code Playgroud) 当我使用这个随机发生器时numpy.random.multinomial,我不断得到:
ValueError: sum(pvals[:-1]) > 1.0
Run Code Online (Sandbox Code Playgroud)
我总是传递这个softmax函数的输出:
def softmax(w, t = 1.0):
e = numpy.exp(numpy.array(w) / t)
dist = e / np.sum(e)
return dist
Run Code Online (Sandbox Code Playgroud)
除了我现在收到这个错误,我还为参数(pvals)添加了这个:
while numpy.sum(pvals) > 1:
pvals /= (1+1e-5)
Run Code Online (Sandbox Code Playgroud)
但这并没有解决它.确保我避免此错误的正确方法是什么?
编辑:这是包含此代码的函数
def get_MDN_prediction(vec):
coeffs = vec[::3]
means = vec[1::3]
stds = np.log(1+np.exp(vec[2::3]))
stds = np.maximum(stds, min_std)
coe = softmax(coeffs)
while np.sum(coe) > 1-1e-9:
coe /= (1+1e-5)
coeff = unhot(np.random.multinomial(1, coe))
return np.random.normal(means[coeff], stds[coeff])
Run Code Online (Sandbox Code Playgroud) 在Python中,method_descriptor(用简单的英语)是什么?
我遇到了这个错误,但实际上找不到任何信息:
*** TypeError: can't pickle method_descriptor objects
Run Code Online (Sandbox Code Playgroud) 根据这个问题,当我输入时,这个名为“parse_fail.py”的脚本应该打印 default=1:
python parse_fail.py --help
Run Code Online (Sandbox Code Playgroud)
在命令行上,但它没有。为什么不?
#parse_fail.py
import argparse
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("--test", type=int, dest='test', default=1)
parser.parse_args()
args_dict = vars(parser.parse_args())
locals().update(args_dict)
print test
Run Code Online (Sandbox Code Playgroud)
当我运行这个脚本时,我得到:
$ python parser_fail.py --help
usage: parser_fail.py [-h] [--test TEST]
optional arguments:
-h, --help show this help message and exit
--test TEST
Run Code Online (Sandbox Code Playgroud)
编辑:添加了脚本的输出。
这是“便利包装”吗:https : //docs.python.org/2/library/importlib.html只是提供了另一种书写方式:
import path.to.my.module
Run Code Online (Sandbox Code Playgroud)
有什么是您无法使用常规import语句执行的操作吗?
因此,我已默认使用rm / cp / mv命令来使用交互式(-i)模式,以免意外删除内容,但有时这非常不便。
我想对表格的所有提示说“ y”:
mv: overwrite `file_1'? y
mv: overwrite `file_2'? y
Run Code Online (Sandbox Code Playgroud)
无需多次输入“ y”。有没有办法做到这一点?
我不小心添加、提交并将我所有未跟踪的文件推送到远程存储库,在那里它们会令我的合作者烦恼。
从那以后,我还进行了另外两次提交,其中一次是通过 git pull 与远程合并。
我想撤消这一系列操作并将我的目录恢复到以前的状态(包括未跟踪的文件)。
使用我尝试过的所有命令(签出、还原、重置、变基),我的未跟踪文件由于撤消提交而丢失。
我该怎么办?
python ×10
numpy ×3
argparse ×2
command-line ×1
conda ×1
environment ×1
git ×1
git-rebase ×1
git-reset ×1
git-revert ×1
import ×1
interactive ×1
ipdb ×1
ipython ×1
latex ×1
methods ×1
namespaces ×1
nan ×1
package ×1
pdb ×1
random ×1
scope ×1
tex ×1
undo ×1