单帆蔡 发表于 2020-9-2 22:22:00

求问 re,findall()要查找的参数 怎么设置成一个变量

我想让用户输入后给到 re,findall() 进行查找 但是怎么写猜对啊,
一直提示return _compile(pattern, flags).findall(string)
TypeError: expected string or bytes-like object

永恒的蓝色梦想 发表于 2020-9-2 22:39:40

发个完整代码

单帆蔡 发表于 2020-9-2 22:49:01

from tkinter import *
import re

data={'0.37kw-2-b3-力象':3,'0.37kw-4-b3-力象':2,'0.37kw-6-b3-力象':6}

def weight(event):
    event = str(q1.get)
    temp = re.findall(r'(\A%s)'%(temp),data)
    for i in temp:
      c.insert(END,i)
   
   



root = Tk()
root.title('库存管理')

q1 = Entry(root)
q1.grid(row=0,column=1,padx=10,pady=10)
q1.bind('<KeyRelease>',weight)

我想让输入 Entry的 值 放在 re.findall当表达式 去字典里找

单帆蔡 发表于 2020-9-2 22:50:03

永恒的蓝色梦想 发表于 2020-9-2 22:39
发个完整代码

from tkinter import *
import re

data={'0.37kw-2-b3-力象':3,'0.37kw-4-b3-力象':2,'0.37kw-6-b3-力象':6}
def weight(event):
    event = str(q1.get)
    temp = re.findall(r'(\A%s)'%(temp),data)
    for i in temp:
      c.insert(END,i)
   
   



root = Tk()
root.title('库存管理')

q1 = Entry(root)
q1.grid(row=0,column=1,padx=10,pady=10)
q1.bind('<KeyRelease>',weight)

我想让输入 Entry的 值 放在 re.findall当表达式 去字典里找

疾风怪盗 发表于 2020-9-2 23:11:07

本帖最后由 疾风怪盗 于 2020-9-2 23:12 编辑

单帆蔡 发表于 2020-9-2 22:50
我想让输入 Entry的 值 放在 re.findall当表达式 去字典里找

你这个代码好乱,q1.get()也错了,正则也错了,09行那个c是什么也没定义,root.mainloop()也漏了

你可以描述下你的每一步的想法

单帆蔡 发表于 2020-9-3 09:34:49

疾风怪盗 发表于 2020-9-2 23:11
你这个代码好乱,q1.get()也错了,正则也错了,09行那个c是什么也没定义,root.mainloop()也漏了

你 ...

我就是想在字符串中用变量 忘记了还有格式化方法 哈哈哈
现在已解决了 谢谢各位大佬帮忙

单帆蔡 发表于 2020-9-3 09:56:33

import re
data=['0.37kw-2-b3-力象','0.37kw-4-b3-力象','0.37kw-6-b3-力象']
u = '0.3'


for i in data:
    pattern = re.compile(r'%s'%(u))
    if pattern.findall('%s'%(i)):
      print(i)

页: [1]
查看完整版本: 求问 re,findall()要查找的参数 怎么设置成一个变量