小编Aja*_*234的帖子

PyQt多行文本输入框

我正在使用PyQt,我正在尝试为用户构建一个多行文本输入框.但是,当我运行下面的代码时,我得到一个只允许输入单行文本的框.如何修复它以便用户可以根据需要输入多行?

   import sys
   from PyQt4.QtGui import *
   from PyQt4.QtCore import *

   def window():
       app = QApplication(sys.argv)
       w = QWidget()

       w.resize(640, 480)

       textBox = QLineEdit(w)
       textBox.move(250, 120)

       button = QPushButton("click me")
       button.move(20, 80)

       w.show()

       sys.exit(app.exec_())


   if __name__ == '__main__':
       window()
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqt4 pyqt5

3
推荐指数
1
解决办法
7054
查看次数

String Regex中的Python大写和小写条件

我正在尝试编写一个正则表达式来扫描字符串并查找所有"hello"实例,包括大写和小写字母.问题是虽然简单

the_list = re.compile(r'hello')
Run Code Online (Sandbox Code Playgroud)

只需要字符串中的"hello",我希望表达式能够找到大写和小写字母的所有"hello"版本,例如:

Hello, HELlo, hEllo, HELLO, heLLO, etc.
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

the_list = re.compile(r'[a-z][A-Z]hello')
Run Code Online (Sandbox Code Playgroud)

但没有运气.谁能解释一个更好的方法来编写这个正则表达式?

python regex

3
推荐指数
1
解决办法
5643
查看次数

如何用枚举解压缩元组列表?

我偶然发现了一个我无法解释的解包问题.

这有效:

tuples = [('Jhon', 1), ('Jane', 2)]

for name, score in tuples:
    ...
Run Code Online (Sandbox Code Playgroud)

这也有效

for id, entry in enumerate(tuples):
    name, score = entry
    ...
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

for id, name, score in enumerate(tuples):
    ...
Run Code Online (Sandbox Code Playgroud)

抛出一个ValueError: need more than 2 values to unpack例子.

python tuples python-3.x iterable-unpacking

3
推荐指数
2
解决办法
4330
查看次数

无法将 .data 中的变量移动到 Mac x86 程序集的注册

我用 AT&T 语法编写了一小段程序集,目前在该.data部分中声明了三个变量。但是,当我尝试将这些变量中的任何一个移动到寄存器时,例如%eaxgcc就会引发错误。代码和错误信息如下:

.data
  x:.int 14
  y:.int 4
  str: .string "some string\n"

.globl _main

_main:
  pushq %rbp
  movq %rsp, %rbp
  subq $16, %rsp
  movl x, %eax; #attempting to move the value of x to %eax;
  leave
  ret
Run Code Online (Sandbox Code Playgroud)

引发的错误是:

call_function.s:14:3: 错误:64 位模式不支持 32 位绝对寻址

movl x, %eax;

^

我还尝试通过首先$在 前面添加字符来移动值x,但是,clang引发了错误:

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

有谁知道如何x成功地将存储的值移动到%eax?我在 Mac OSX 上使用 x86 程序集并使用gcc.

macos x86 assembly x86-64 att

2
推荐指数
1
解决办法
816
查看次数

计算任意数量的词典中最常见的值

我有数百个看起来像这样的词典.它们都有相同的键(纽约,芝加哥等......)但具有不同的值.没有遗漏的值.

[{'New York': 'cloudy', 'Chicago': 'snowy', 'Seattle': 'rainy'},
 {'New York': 'cloudy', 'Chicago': 'hailing', 'Seattle': 'sunny'},
 {'New York': 'sunny', 'Chicago': 'snowy', 'Seattle': 'rainy'}, 
 {'New York': 'hailing', 'Chicago': 'snowy', 'Seattle':'snowy'}]
Run Code Online (Sandbox Code Playgroud)

我想计算每个键最常见的"天气"值.然后将它们全部合并到一个最终列表中,该列表仅输出具有其最常见键值的每个城市.

{'New York': 'cloudy', 'Chicago': 'snowy', 'Seattle': 'rainy'}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python python-3.x

2
推荐指数
1
解决办法
32
查看次数

OperationalError:没有这样的表:关于python的书籍在任何地方

我在 python 上的任何地方都有一个文件结构:

烧瓶主机(文件夹),其中包含:

  1. 应用程序
  2. 书籍数据库

app.py 包含 -:

import flask
from flask import request, jsonify
import sqlite3

app = flask.Flask(__name__)
app.config["DEBUG"] = True

def dict_factory(cursor, row):
    d = {}
    for idx, col in enumerate(cursor.description):
        d[col[0]] = row[idx]
    return d


@app.route('/', methods=['GET'])
def home():
    return '''<h1>Distant Reading Archive</h1>
<p>A prototype API for distant reading of science fiction novels.</p>'''


@app.route('/api/v1/resources/books/all', methods=['GET'])
def api_all():
    conn = sqlite3.connect('books.db')
    conn.row_factory = dict_factory
    cur = conn.cursor()
    all_books = cur.execute('SELECT * FROM books;').fetchall()

    return jsonify(all_books)



@app.errorhandler(404) …
Run Code Online (Sandbox Code Playgroud)

python sqlite flask pythonanywhere

2
推荐指数
1
解决办法
429
查看次数

如何将递归函数的中间结果放入列表?

我写了一个简单的递归函数来删除具有最大总和的列,直到数据帧减少到我想要的大小.这是代码:

s = pd.DataFrame({'a': [1,1,1,1,1,1], 
                  'b': [2,2,2,2,2,2], 
                  'c': [3,3,3,3,3,3], 
                  'd': [4,4,4,4,4,4], 
                  'e': [5,5,5,5,5,5]}) 

def recSelect(inputdf):
    if inputdf.shape[1]<=2:
        return inputdf
    else:
        total = inputdf.sum()
        idx = total.idxmax()
        inputdf.drop(idx, axis=1, inplace=True)
        return recSelect(inputdf)

recSelect(s)
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,首先删除列'e',然后删除列'd',然后删除'c'.我的问题是:我如何正确地返回'idx'并获得一个列表为['e','d','c']?

这是我尝试过的但它不起作用:

idxs = [] # create an empty list
def recSelect(inputdf):
    if inputdf.shape[1]<=2:
        return inputdf
    else:
        total = inputdf.sum()
        idx = total.idxmax()
        idxs.append(idx) # append each idx
        inputdf.drop(idx, axis=1, inplace=True)
        return recSelect(inputdf), idxs
Run Code Online (Sandbox Code Playgroud)

python recursion loops pandas

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

如何删除列表中的整个字典?

mylist = [{"a" : 1, " b" : 2}, {"c" : 1, "d" :2}]
Run Code Online (Sandbox Code Playgroud)

我的清单就是这样的.我如何删除包含密钥'a'的整个字典?

python dictionary list-comprehension dictionary-comprehension

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

格式化原始字符串Python

我在Python中有一个通过imap库检索的原始字符串。

看起来像这样:

Season: Winter 2017-18
Activity: Basketball - Boys JV
*DATE: 02/13/2018 * - ( previously 02/06/2018 )
Event type: Game
Home/Host: Clear Lake
Opponent: Webster City
*START TIME: 6:15PM CST* - ( previously 4:30PM CST )
Location: Clear Lake High School, 125 N. 20th Street, Clear Lake, IA
Run Code Online (Sandbox Code Playgroud)

刮取每个标签(label为DATE:)之后的数据的最佳方法是什么?例如,DATE: 02/13/2018 * - ( previously 02/06/2018 )将其设置为等于,如变量Date,因此在print(date)打印时02/13/2018 * - ( previously 02/06/2018 )将作为输出。

我尝试了以下代码,但每行只打印一个字符。谢谢!

for line in message:
     if "DATE:" …
Run Code Online (Sandbox Code Playgroud)

python string format scrape

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

Python Lambda 函数的空参数

是否可以在 python 中编写一个不需要任何参数传递给它的 lambda 函数?例如,有没有办法翻译这个函数:

def file_opener():
    f = open('filename.txt').read()
    return f
Run Code Online (Sandbox Code Playgroud)

或者任何其他没有传递输入到 lambda 表达式的函数?

python lambda

0
推荐指数
1
解决办法
4124
查看次数