我有一个python 2.6脚本(是的,我知道我应该升级到至少2.7),看起来像这样:
ret_code = 0
def some_func()
global ret_code
...
if __name__ == '__main__':
global ret_code
...
Run Code Online (Sandbox Code Playgroud)
现在,如果我运行代码,我会收到警告:*语法警告:名称'ret_code'在全局声明全局ret_code之前分配给*
为什么我会收到此警告?
我这样做可以解决问题:
def some_func()
global ret_code
...
if __name__ == '__main__':
global ret_code
ret_code = 0 #assign 0 here instead of above
...
Run Code Online (Sandbox Code Playgroud)
仍然没有回答我的问题.原始代码有什么问题?
您好我正在使用Swing在Java 1.6上编写GUI应用程序.
我有一个弹出屏幕,应该显示一个gif动画,而我的Swing gui正在加载,还有一点点之后.
我的弹出屏幕是JDialog.动画应显示在以下列方式添加到Jdialog的JLabel上:
ImageIcon myImgIcon = getMyImgIcon();
JLabel imageLbl = new JLabel(myImgIcon);
add(imageLbl, BorderLayout.CENTER);
Run Code Online (Sandbox Code Playgroud)
现在的问题是动画只在gui加载后显示.我相信在加载GUI时(在我的应用程序中这是一个繁重的操作),EDT非常繁忙,无法运行动画.
请参阅如何使用线程显示动画GIF图像.
现在问题是我在不同的线程(不是EDT)上加载GUI是错误的,所以我不知道如何解决问题.
有没有人有想法?
我在Red Hat 6.4上运行python 2.6
我使用paramiko sftp在一台机器上运行了一个脚本.当我把它转移到另一台机器时,我得到了一个例外:( SFTP file has no attribute __exit__沿着这些方向的东西).
我决定用pip升级paramiko(认为它会解决问题).现在我在运行python脚本时得到这个:
...
File "/usr/lib/python2.6/site-packages/paramiko/__init__.py", line 64, in <module>
from transport import SecurityOptions, Transport
File "/usr/lib/python2.6/site-packages/paramiko/transport.py", line 33, in <module>
from paramiko import util
File "/usr/lib/python2.6/site-packages/paramiko/util.py", line 33, in <module>
from paramiko.common import *
File "/usr/lib/python2.6/site-packages/paramiko/common.py", line 98, in <module>
from Crypto import Random
File "/usr/lib64/python2.6/site-packages/Crypto/Random/__init__.py", line 29, in <module>
from Crypto.Random import _UserFriendlyRNG
File "/usr/lib64/python2.6/site-packages/Crypto/Random/_UserFriendlyRNG.py", line 38, in <module>
from Crypto.Random.Fortuna import FortunaAccumulator
File "/usr/lib64/python2.6/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py", line 39, …Run Code Online (Sandbox Code Playgroud) 我一直在尝试实现以下文档中给出的示例:https ://docs.rs/ed25519-dalek/1.0.1/ed25519_dalek/
我的代码很简单:
extern crate rand;
extern crate ed25519_dalek;
use rand::rngs::OsRng;
use ed25519_dalek::Keypair;
fn main() {
let mut csprng = OsRng{};
let keypair: Keypair = Keypair::generate(&mut csprng);
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行时,我收到一条错误消息,指出该CryptoRng特征未在OsRng
11 | let keypair: Keypair = Keypair::generate(&mut csprng);
| ^^^^^^^^^^^ the trait `rand_core::CryptoRng` is not implemented for `OsRng`
Run Code Online (Sandbox Code Playgroud)
然而,CryptoRng这只是一个标记特征,我看到它确实有一个空的隐含OsRng......
那么这里可能存在什么问题呢?
考虑以下代码:
class Foo:
def geta(self):
self.a = 'lie'
return 'this is {self.a}'.format(?)
Run Code Online (Sandbox Code Playgroud)
我应该写什么而不是问号,以便字符串格式正确?
我想让eclipse键绑定工作.我试图让rename命令工作.我查看了一些教程并进行了实验.我在控制台中启用了命令和键绑定跟踪(http://eclipsesource.com/blogs/2009/07/08/tip-tracing-keybindings-in-rcp/).
我创建了一个自定义命令:
com.mycompany.myproduct.command.rename
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所得到的:
1)我试着按照这个教程,http://www.vogella.com/tutorials/EclipseCommandsKeybindings/article.html,但我得出结论,这是针对e3的.这是因为您需要添加仅识别旧e3处理程序的命令插件.没有涉及xmi
2)我试图使用xmi绑定上下文.我将命令注册在顶级命令树中,并连接到顶级处理程序树中的处理程序.在绑定表部分,我有一个在Dialog和Windows上下文中工作的bindingTable.我添加了一个键绑定.序列为"F2",它连接到我的自定义命令.
当我点击F2时,我会在跟踪中收到以下消息:
COMMANDS >>> execute >>> starting: id=org.eclipse.ui.edit.rename; event=ExecutionEvent(Command(org.eclipse.ui.edit.rename,Rename,
Rename the selected item,
Category(org.eclipse.ui.category.file,File,null,true),
org.eclipse.ui.internal.MakeHandlersGo@1285594,
,,true),{},Event {type=1 Tree {} time=1480412218 data=null x=0 y=0 width=0 height=0 detail=0},org.eclipse.e4.ui.workbench.modeling.ExpressionContext@177fc1a)
Run Code Online (Sandbox Code Playgroud)
简而言之,默认的eclipse IDE rename命令被触发(我的键绑定什么都不做),我的应用程序没有任何反应.
但是,如果我将序列更改为"M1 + 1"并按下ctrl + 1,会出现一个弹出窗口,让我在"快速修复"(eclipse IDE命令)和重命名之间进行选择.如果我选择重命名处理程序触发.
现在,如何禁用eclipse IDE默认键绑定.步骤1中教程的说明肯定不会这样做.
谢谢!
以下是代码中的一段,它假设测试与服务器的通信并从中获取图片:
bool testPICcomm(){
Poco::Logger &logger = Poco::Logger::get("PictureTester");
logger.setLevel(Poco::Message::PRIO_DEBUG);
HttpClient* h = new HttpClient(host, 80);
std::map<std::string, std::string> headers;
Poco::UTF8Encoding utf;
Encoder encoder(utf);
h->connect();
h->sendHttpRequest(askForPic,"","",0,0);
if((h->getHttpHeaders(headers, encoder)) == false)
{
logger.debug("Couldn't Retrieve Headers "+ false);
h->close();
return false;
}
logger.debug("got headers");
//get head data
std::string mime = headers["Content-Type"];
logger.debug("mime type:" + mime);
logger.debug("length string: " + std::string((headers["Content-Length"]).c_str()));
int length= atoi((headers["Content-Length"]).c_str());
logger.debug("pic length:" + length);
...
Run Code Online (Sandbox Code Playgroud)
我在linux上使用eclipse(eclipse功能不太好,所以我只在控制台上工作).
现在通过跟踪记录器消息,我推断出atoi(查看代码的结尾)会导致分段错误.
考虑到另一个函数testXMLcomm工作正常并且它看起来很相似,这真的很奇怪.
我包括stdio和stdlib ofcourse.
请帮忙!!!
这是我的头文件:
/**
* Job.h
*
**/
#ifndef JOB_
#define JOB_
#include <map>
#include <string>
#include <algorithm>
#include <cstdlib>
#include <iomanip>
#include <vector>
class Job {
private:
int resourceId;
int inputRepresentation;
int outputRepresentation;
//Effects associative array
//Maps an effect to a map of it's attributes
//effectsMap[effect][attribute]=value
map< std::string, map<std::string, int> > *effectsMap;
public:
//constructors
Job();
Job(int resId, int inputRep, int outputRep);
//destructor
virtual ~Job();
//getters
int getInputRepresentation() const;
int getOutputRepresentation() const;
int getResourceId() const;
//setters
void setInputRepresentation(int inputRepresentation);
void setOutputRepresentation(int outputRepresentation); …Run Code Online (Sandbox Code Playgroud) python ×3
c++ ×2
e4 ×1
eclipse-rcp ×1
ed25519 ×1
gif ×1
global ×1
java ×1
paramiko ×1
pycrypto ×1
python-2.6 ×1
python-2.7 ×1
random ×1
rust ×1
swing ×1