下面是我遇到问题的python代码:
for i in range (0,10):
if i==5:
i+=3
print i
Run Code Online (Sandbox Code Playgroud)
我期望输出为:
0
1
2
3
4
8
9
Run Code Online (Sandbox Code Playgroud)
然而翻译吐出:
0
1
2
3
4
8
6
7
8
9
Run Code Online (Sandbox Code Playgroud)
我知道for循环为C中的变量创建了一个新的作用域,但不知道python.任何人都可以解释为什么python i中的for循环中没有变化的值,并且为了获得预期的输出有什么补救措施.
我有两个文件:
base.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
register.html
{% extends "base.html" %}
{% block content %}
<h1>Register</h1>
<form action="" method="post" name="register">
{{ form.hidden_tag() }}
{{ form.login.label }} {{ form.login(size=20) }}
{{ form.password.label }} {{ form.password(size=20) }}
<input type="submit" value="Register">
</form>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
它像这样呈现:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<form action="" method="post" name="register">
<div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="1393257771.168161##ce877b3519f192c05d3b409f3b7b07bb147dead7"></div>
<label for="login">login</label> <input …Run Code Online (Sandbox Code Playgroud) 我nosetests test.py用来运行单元测试:
import unittest
import logging
class Test(unittest.TestCase):
def test_pass(self):
logging.getLogger('do_not_want').info('HIDE THIS')
logging.getLogger('test').info('TEST PASS')
self.assertEqual(True, True)
def test_fail(self):
logging.getLogger('do_not_want').info('HIDE THIS')
logging.getLogger('test').info('TEST FAIL')
self.assertEqual(True, False)
Run Code Online (Sandbox Code Playgroud)
当测试失败时,它会打印出所有日志记录信息.我可以使用--logging-filter只提取一些记录器:
nosetests test.py --verbosity=2 --logging-filter=test
test_fail (test.Test) ... FAIL
test_pass (test.Test) ... ok
======================================================================
FAIL: test_fail (test.Test)
----------------------------------------------------------------------
Traceback (most recent call last):
File ".../test.py", line 14, in test_fail
self.assertEqual(True, False)
AssertionError: True != False
-------------------- >> begin captured logging << --------------------
test: INFO: TEST FAIL
--------------------- >> end captured logging << …Run Code Online (Sandbox Code Playgroud) 我使用Twitter Bootstrap 3.1.1带Parsley v2.0.0-rc3.我做的主要是除了classHandler选项之外的工作.
我有这样的HTML:
<div class="form-group">
<label class="control-label" for="username">User Name</label>
<input class="form-control" id="username" name="username" required="" type="text" value="">
</div>
Run Code Online (Sandbox Code Playgroud)
像这样运行欧芹:
$("#register_form").parsley({
successClass: "has-success",
errorClass: "has-error",
classHandler: function(el) {
return $(el).closest(".form-group");
},
errorsWrapper: "<span class='help-block'></span>",
errorTemplate: "<span></span>"
});
Run Code Online (Sandbox Code Playgroud)
一切正常,但成功/错误类应用于错误的元素.页面加载后,我得到这个:
<div class="form-group">
<label class="control-label" for="username">User Name</label>
<input class="form-control" id="username" name="username" required="" type="text" value="" data-parsley-id="5043">
<span class="help-block" id="parsley-id-5043"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
验证后,结果如下:
<div class="form-group">
<label class="control-label" for="username">User Name</label>
<input class="form-control has-error" id="username" name="username" required="" type="text" value="" data-parsley-id="5043">
<span class="help-block …Run Code Online (Sandbox Code Playgroud) javascript jquery twitter-bootstrap parsley.js twitter-bootstrap-3
我正在使用Code :: Blocks with GCC 4.4.1,我似乎无法从我的C代码中打印64位有符号整数.
这段代码:
long long longint;
longint = 0x1BCDEFABCDEFCDEF; /* 2003520930423229935 */
printf("Sizeof: %d-bit\n", sizeof(longint) * 8); /* Correct */
printf("%llx\n", longint); /* Incorrect */
printf("%x%x\n", *(((int*)(&longint))+1), longint); /* Correct */
printf("%lld\n", longint); /* Incorrect */
Run Code Online (Sandbox Code Playgroud)
产生输出:
Sizeof: 64-bit
cdefcdef
1bcdefabcdefcdef
-839922193
Run Code Online (Sandbox Code Playgroud)
64位算术似乎正常工作:
longint -= 0x1000000000000000;
printf("%x%x\n", *(((int*)(&longint))+1), longint);
Run Code Online (Sandbox Code Playgroud)
得到:
bcdefabcdefcdef
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
我想让我的Flask应用程序在CentOS服务器上运行.基本上问题是我安装了Python 2.6,/usr/bin其中安装了系统默认和Python 3.4 /usr/local/bin.我想使用Python 3.4 virtualenv或至少Python 3.4解释器来运行我的应用程序mod_wsgi.
我已经创建了virtualenv ~/virtualenvs/flask.
我有这个WSGI脚本:
import os
import sys
from logging import Formatter, FileHandler
APP_HOME = r"/home/fenikso/Album"
activate_this = os.path.join("/home/fenikso/virtualenvs/flask/bin/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))
sys.path.insert(0, APP_HOME)
os.chdir(APP_HOME)
from app import app
handler = FileHandler("app.log")
handler.setFormatter(Formatter("[%(asctime)s | %(levelname)s] %(message)s"))
app.logger.addHandler(handler)
application = app
Run Code Online (Sandbox Code Playgroud)
并在Apache中配置以下:
<VirtualHost *:80>
ServerName album2.site.cz
Alias /static "/home/fenikso/Album/static"
Alias /photos "/home/fenikso/Album/photos"
Alias /thumbs "/home/fenikso/Album/thumbs"
WSGIScriptAlias / "/home/fenikso/Album/wsgi.py"
<Directory "/home/fenikso/Album">
AllowOverride None
Allow from all
</Directory>
<Directory "/home/fenikso/Album/static">
AllowOverride None
Allow from …Run Code Online (Sandbox Code Playgroud) 我主要是为精通技术的人编写一个小工具,例如程序员,工程师等.由于这些工具通常会随着时间的推移而快速改进,我知道会有未处理的异常并且用户不会介意.我希望用户能够向我发送回溯,以便我可以检查发生了什么并可能改进应用程序.
我经常做wxPython编程,但最近我做了一些Java.我已经TaskDialog上课了Thread.UncaughtExceptionHandler(),我对结果非常满意.特别是它可以捕获和处理来自任何线程的异常:


我在wxPython中做了类似的事情很长一段时间.然而:

这是Java和wxPython的代码,所以你可以看到我做了什么:
Java的:
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.JButton;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import com.ezware.dialog.task.TaskDialogs;
public class SwingExceptionTest {
private JFrame frame;
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (ClassNotFoundException e) {
}
catch (InstantiationException e) {
}
catch (IllegalAccessException e) {
}
catch (UnsupportedLookAndFeelException e) {
}
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) { …Run Code Online (Sandbox Code Playgroud) 我有一个简单的PyGObject应用程序:
from gi.repository import Gtk
class Window(Gtk.Window):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.set_border_width(5)
self.button = Gtk.Button('Test')
self.box = Gtk.Box()
self.box.pack_start(self.button, True, True, 0)
self.add(self.box)
self.connect('delete-event', Gtk.main_quit)
self.show_all()
win = Window()
Gtk.main()
Run Code Online (Sandbox Code Playgroud)
我试图在Linux上使用cx_freeze使用以下setup.py脚本冻结它:
from cx_Freeze import setup, Executable
setup(name="GUI Test",
description="GUITest",
version="0.1",
options={"build_exe": {"build_exe": "Bin/pygobject",
"create_shared_zip": False,
}},
executables=[Executable(script="hello_pygobject.py",
targetName="hello",
appendScriptToExe=True,
)]
)
Run Code Online (Sandbox Code Playgroud)
而我正在运行它: python3 setup_pygobject.py build
当我尝试运行冻结的应用程序时,我收到以下错误消息:
(process:22538): Gtk-CRITICAL **: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)
我可能在目录中缺少一堆库,例如他们已经解释过Windows.我试图pmap找到丢失的库.作为最后的手段,我还尝试将/usr/lib64/(+其他一些我不记得的)的所有库复制到工作目录中.
有一个很好的方法如何找到我需要的库或一些更好的方法来解决它? …
我有以下代码:
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
TEXT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " \
"Nullam malesuada tellus in ex elementum, vitae rutrum enim vestibulum."
#==============================================================================
class Window(QWidget):
def __init__(self, *args, **kwargs):
QWidget.__init__(self, *args, **kwargs)
# Widgets
self.label = QLabel(TEXT, self)
# self.label.setWordWrap(True)
self.text = QTextEdit(self)
self.text.setMinimumSize(480, 320)
self.text.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
# Layout
self.layout = QGridLayout()
self.layout.addWidget(self.label, 0, 0)
self.layout.addWidget(self.text, 1, 0)
self.layout.setContentsMargins(5, 5, 5, 5)
self.layout.setSpacing(5)
self.setLayout(self.layout)
self.adjustSize() …Run Code Online (Sandbox Code Playgroud) 我使用了一个 Text 小部件,Tkinter当按下按钮时,它会将选定的文本复制到剪贴板。现在在复制过程之后,我想取消选择文本。知道这可能如何工作吗?
由于似乎有必要发布一些代码,以便人们更详细地了解我的问题,这里是:
def copy_to_clipboard(self, copy_string):
#copy to clipboard function
self.clipboard_clear()
try:
#text in outputlistfield marked, so copy that
self.clipboard_append(self.outputlistfield.get("sel.first", "sel.last"))
except:
#no text marked
Run Code Online (Sandbox Code Playgroud)
outputlistfield是一个文本小部件。如果选择文本,则应将其复制到剪贴板。这很好用。但我想重置选择,以便在复制文本后不再选择文本。那么,有什么建议吗?