小编Rdb*_*ost的帖子

Python asyncio调试示例

我想启用Asyncio的非屈服协程检测,但没有成功.

这个简单的代码实现了以下建议:https:
//docs.python.org/3/library/asyncio-dev.html#asyncio-logger

但实际上并没有捕捉到未屈服的"虚拟"协程.

import sys, os
import asyncio
import logging
import warnings

os.environ['PYTHONASYNCIODEBUG'] = '1'
logging.basicConfig(level=logging.DEBUG)
warnings.resetwarnings()

@asyncio.coroutine
def dummy():
    print('yeah, dummy ran!!')

@asyncio.coroutine
def startdummy():
    print('creating dummy')
    dummy()

if __name__ == '__main__':
    lp = asyncio.get_event_loop()
    lp.run_until_complete(startdummy())
Run Code Online (Sandbox Code Playgroud)

我预计程序会以关于协同程序'dummy'的警告而结束,但是没有产生.

实际上,结果是:

DEBUG:asyncio:Using selector: SelectSelector
creating dummy
sys:1: ResourceWarning: unclosed <socket object at 0x02DCB6F0>
c:\python34\lib\importlib\_bootstrap.py:2150: ImportWarning: sys.meta_path is empty
sys:1: ResourceWarning: unclosed <socket object at 0x02DE10C0>
Run Code Online (Sandbox Code Playgroud)

没有一丝废弃的鲜花.我错过了什么?

python asynchronous python-3.x python-asyncio

17
推荐指数
1
解决办法
5231
查看次数

如何在Android上创建多个IME(输入法编辑器)子类型?

我正在尝试创建多个IME子类型,但Android只能识别一个.

method.xml

<?xml version="1.0" encoding="utf-8"?>
<input-method
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsSwitchingToNextInputMethod="true"
    android:settingsActivity="com.example.softkeyboard.Settings">


    <subtype android:name="@string/display_name_english_keyboard_dynamic_ime"
        android:imeSubtypeLocale="en_US"
        android:imeSubtypeMode="keyboard"
        android:imeSubtypeExtraValue="charDataFile=strokemaps_dynamic" />

    <subtype android:name="@string/display_name_english_keyboard_ime"
        android:imeSubtypeLocale="en_US"
        android:imeSubtypeMode="keyboard"
        android:imeSubtypeExtraValue="charDataFile=strokemaps" />

</input-method>
Run Code Online (Sandbox Code Playgroud)

strings.xml中的每个名称都有值.

<resources>
<string name="app_name">KK1</string>
<string name="display_name_english_keyboard_ime">English</string>
<string name="display_name_english_keyboard_dynamic_ime">English Dynamic</string>
Run Code Online (Sandbox Code Playgroud)

我的InputMethodService.onStartInputView方法包括:

@Override
public void onStartInputView(EditorInfo ei, boolean restarting) {

    super.onStartInputView(ei, restarting);

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    List<InputMethodInfo> imil = imm.getEnabledInputMethodList();
    for (InputMethodInfo imi: imil) {
        Log.e("osiv", "input method info: "+imi.toString());
    }

    List<InputMethodSubtype> imsl = imm.getEnabledInputMethodSubtypeList(imil.get(0), true);

    for (InputMethodSubtype ims: imsl) {
        Log.e("osiv", "input method subtype: "+ims.toString());
    }
Run Code Online (Sandbox Code Playgroud)

列出的InputMethodInfos包含我的IME,但子类型列表只包含一个子类型.如果它是文件中唯一的子类型,则每个子类型都起作用.

Android 8.0设备不会在其语言/键盘配置选项中显示子类型,只显示IME本身,因此无法单独启用或禁用子类型. …

keyboard android ime android-softkeyboard android-8.0-oreo

11
推荐指数
1
解决办法
594
查看次数

如何在IE8下隐藏jQuery中的嵌套表单

包含包含表格的表单的div的html段:

<!DOCTYPE html>
<html> <!-- xmlns="http://www.w3.org/1999/xhtml" lang="en" -->
<head>
    <style type="text/css">
    #content{position:relative}
    table {border-color:#999;border-style:solid}
    </style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>

<body>
    <button onclick="javascript:$('.content-panel').toggle();">Toggle</button>
    <div id="content">
        <div class="content-panel">
            <form action='' method='post'>
                <select> 
                    <option>a </option>
                </select>

                <table>
                    <tr><td>ABCDEF</td></tr>
                </table>
            </form>
        </div>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

切换按钮应该隐藏表单及其嵌套表,但在IE8下不会这样做.(版本8.0.60001)表单内容被隐藏,但表边框继续显示,并保留其大小.它与标准模式有关; 它在怪癖模式中消失了.

有人有解决方法吗?

这个示例页面减少了大约我可以减少它.如果我删除选择或任何一个div,问题就会消失.必须存在select,并且表需要嵌套在表单中,因为它将包含表单元素.

该页面位于:http: //dev.rdbhost.com/rdbadmin/mainProbDemo.html

我之前使用过于简化的示例发布了此问题,该示例无法重现.谢谢你,如果你看了它.

jquery internet-explorer-8

6
推荐指数
1
解决办法
961
查看次数

用括号代码解释Java表示法"新"

我看到这个符号,一个带有类名的新运算符,然后是括号中的代码,偶尔也会出现在Android示例中.有人可以解释一下吗?在下面的示例中,PanChangeListener是一个类(或者可能是一个接口),'new'创建一个实例,但是括号中的代码对PanChangeListener有什么作用?

fType pcListener = new PanChangeListener() {

      @Override
      public void onPan(GeoPoint old, GeoPoint current) {
                         //TODO
      }
});
Run Code Online (Sandbox Code Playgroud)

即使是这种语法的名称也会很有用,因为我可以谷歌.

java android

4
推荐指数
1
解决办法
135
查看次数