如果用户试图运行试图导入尚未安装的模块的python脚本,我想实现一些更友好的错误消息.这包括打印有关如何安装缺失模块的说明.
一种方法是在输入周围放一个try..catch块,但这有点难看,因为它会变得简单像
import some_module
Run Code Online (Sandbox Code Playgroud)
成
try:
import some_module
except ImportError, e:
handle_error(e)
Run Code Online (Sandbox Code Playgroud)
它必须添加到每个文件中.另外,ImportError似乎没有将丢失模块的名称存储在任何地方(消息中除外),因此如果您需要知道名称(如我所知),则必须在每次导入时放置一个单独的try..catch .解析模块的名称不是选项,因为ImportError携带的消息可能会因python版本更改为版本而取决于用户的语言环境.
我想我可以使用sys.excepthook来捕获所有异常并传递除了ImportError之外的那些异常.或者可以定义类似的东西
safe_import some_module
Run Code Online (Sandbox Code Playgroud)
那会表现得像我想要的那样?
有谁知道这个问题的任何现有解决方案?
我在该类的一个函数中使用我的类中的参数时遇到了麻烦.
我有一个叫做公司的课:
class company {
var $name;
function __construct($name) {
echo $name;
}
function name() {
echo $name;
}
}
$comp = new company('TheNameOfSomething');
$comp->name();
Run Code Online (Sandbox Code Playgroud)
当我实例化它(第二行到最后一行)时,构造魔术方法工作正常,并回声"TheNameOfSomething".但是,当我调用name()函数时,我什么都没得到.
我究竟做错了什么?任何帮助是极大的赞赏.如果您需要任何其他信息,请询问!
谢谢
--Giles
http://gilesvangruisen.com/
我正在尝试让微控制器与桌面上的程序进行通信.我正在使用两端的Xbee无线电串口连接.
当我从微控制器向桌面发送内容并且桌面上的程序然后将某些内容发送回微控制器时,通信正常.
但是,当我要求将信息从控制器连续发送到桌面程序,直到桌面程序发送特定答案时,它不起作用.
这是我正在谈论的代码:
unsigned char ans = 'N';
unsigned int count = 0;
void main(void)
{
while(1)
{
if(count == 0)
{
Configure();
count = 1;
}
//there is some more code here but is irrelevant to the serial communication
}
}
void Configure()
{
//Repeat this until the user accepts the sent string as correct
while(ans == 'N')
{
BuildString();
Send();
Receive();
}
}
void Send()
{
unsigned int i;
TMOD = 0x20;
TH1 = 0xFD;
SCON = …Run Code Online (Sandbox Code Playgroud) 虽然我喜欢用C++编程,但我讨厌这样的想法:
这个类不满足这些框架的需求吗?我的意思是班上有什么问题?!
std::basic_string vs QString vs wxString vs .............standard stringstandard string
只是要强调,下面是一个重要的问题:
你是否在你将要使用的每个框架中学习框架的"字符串"?您是否会通过尝试在任何地方进行调整来坚持标准字符串类?
谢谢...
我想知道是否有人可以帮助我.我正在尝试在收到短信时显示一个toast元素.此吐司应包含具有图像(SMS图标)和2个文本视图(发件人,消息)的布局
如果我从一个活动调用以下方法,它按预期工作...
public void showToast(Context context, String name, String message) {
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_sms,
(ViewGroup) findViewById(R.id.toast_sms_root));
TextView text = (TextView) layout.findViewById(R.id.toastsms_text);
text.setText(message);
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试从我的SMSReceiver以相同的方式调用相同的代码,我得到:
The method getLayoutInflater() is undefined for the type SmsReceiver
The method findViewById(int) is undefined for the type SmsReceiver
The method getApplicationContext() is undefined for the type SmsReceiver
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何从意图中做到这一点.我认为这个问题与跨线程有某种关系,但我不确定如何继续.我在网上看过几个例子,但他们似乎要么使用已弃用的代码,要么只显示简单的文本
有人可以指出我正确的方向
非常感谢
如果我只是在C++/CLI程序中包含现有的标准C++类,它会起作用吗?
在我的测试中,一切都很顺利,但每个程序都是如此吗?
来自mootools和JAVA,mootools类实现是构建我的代码的一个非常好的方法,而且我可以有一些很好的功能,如扩展,实现等.从jquery开始,我发现自己编写的$ .fn插件无法使用其他插件的代码.此外,将插件结构用于与DOM Elements无关的复杂内容似乎并不是一个好主意.是否有更好的方式,然后$ .fn?您建议使用jquery构建我的代码.
我们刚刚在CS课程中获得了第一个主要的Perl CGI作业.我们的任务是创建一个mp3共享站点,允许用户创建帐户,登录,共享mp3.必须显示当前用户的统计信息,可用的mp3等.必须将所有操作写入日志文件.我们的代码必须安全.
到目前为止,我已将这些操作分别实现为自己的CGI脚本.例如,我有一个脚本可以绘制登录表单,注册表单,允许mp3上传的脚本,以及另一个执行mp3服务的脚本.我还创建了一个模块,每当我调用它的实例时,它都会将相关信息发布到日志文件中.但是,每个脚本都是单独的,但登录屏幕除外,它会绘制一个表单,然后发布到login.cgi.帐户生成的工作原理相同.但是,在大多数情况下,每个人都独立行事.
我的问题:如何将这些链接在一起,以便除非用户登录,否则不允许任何操作?我假设我应该使用登录脚本(接收post动作的脚本)来驱动一切,但我该怎么做?我真的很茫然.我想有一个用户登录,主页是用选项绘制的(添加mp3,听mp3,显示统计等).我最好是绘制某种形式并将动作设置为不同的脚本吗?如何处理这些脚本的返回?饼干会以某种方式帮助吗?
其他相关信息:到目前为止,我使用本网站上的ovid教程和Lincoln Stein的书完成了CGI.pm的大部分工作.
我正在尝试获取样本和其他示例代码,我发现pyuno运行openoffice 3.1.1和python 2.5没有运气.
不幸的是,pyuno没有提供任何关于出错的线索.
In [1]: import uno
In [2]: local = uno.getComponentContext()
In [3]: resolver = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
---------------------------------------------------------------------------
com.sun.star.uno.RuntimeException Traceback (most recent call last)
/opt/openoffice.org/basis3.1/program/ in ()
com.sun.star.uno.RuntimeException: : 'tuple' object has no attribute 'getTypes', traceback follows
no traceback available
下面是/opt/openoffice.org/basis3.1/program/officehelper.py的执行输出,它基本上启动无头办公室实例并返回一个相关的上下文对象.
den@ev:/opt/openoffice.org/basis3.1/program > python officehelper.py
Traceback (most recent call last):
File "officehelper.py", line 42, in
from com.sun.star.connection import NoConnectException
File "uno.py", line 273, in _uno_import
RuntimeException = pyuno.getClass( "com.sun.star.uno.RuntimeException" )
RuntimeError: pyuno.getClass: expecting one string argument
pyuno只有一个参数,它有一个字符串,如 …