小编kfl*_*law的帖子

如何使用列表中的项填充Tkinter optionMenu

"我想在Tkinter中使用各种列表中的项目填充选项菜单,我该怎么做?在下面的代码中,它将整个列表视为菜单中的一个项目.我尝试使用for语句循环遍历列表但是它只给了我几次'a'的价值.

from Tkinter import *

def print_it(event):
  print var.get()

root = Tk()
var = StringVar()
var.set("a")
lst = ["a,b,c,d,e,f"]
OptionMenu(root, var, lst, command=print_it).pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

我想现在将变量传递给此函数,但我得到第二行的语法错误:

def set_wkspc(event):
  x = var.get()
  if x = "Done":
      break
  else:
      arcpy.env.workspace = x
  print x
Run Code Online (Sandbox Code Playgroud)

python tkinter list optionmenu

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

使用正则表达式替换命令在文件名字符串中的小于10的数字前插入前导零

我无法弄清楚如何使用替换命令来完成这项工作,这是我被指示要做的事情.我使用此文本作为变量:

text = 'file1, file2, file10, file20'
Run Code Online (Sandbox Code Playgroud)

我想搜索文本,并在任何小于10的数字前面用零替换.我认为我可以做,如果声明取决于re.match或findall是否只能在文本后面找到一个数字,但我可以似乎要执行.这是我的起始代码,我试图将字符串和数字提取到组中,并且只提取那些只有一位数的文件名:

import re
text = 'file1, file2, file10, file20'
mtch = re.findall('^([a-z]+)(\d{1})$',text)
Run Code Online (Sandbox Code Playgroud)

但它不起作用

python regex expression regex-group

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

使用urllib计算网页上的图像数量

对于一个课程,我有一个练习,我需要计算任何给予网页上的图像数量.我知道每个图像都以,所以我使用正则表达式尝试找到它们.但我不断得到一个我知道错误,我的代码有什么问题:

import urllib
import urllib.request
import re
img_pat = re.compile('<img.*>',re.I)

def get_img_cnt(url):
  try:
      w =  urllib.request.urlopen(url)
  except IOError:
      sys.stderr.write("Couldn't connect to %s " % url)
      sys.exit(1)
  contents =  str(w.read())
  img_num = len(img_pat.findall(contents))
  return (img_num)

print (get_img_cnt('http://www.americascup.com/en/schedules/races'))
Run Code Online (Sandbox Code Playgroud)

html python regex urllib html-parsing

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

使用正则表达式,如何查找仅包含大写或小写的字符串

我需要检查整个字符串的大小写。并且只打印全部大写或小写的内容。

这是我写的代码。

import re

lower = 'abcd'
upper = 'ABCD'
mix = 'aB'
mix2 = 'abcD'
exp = re.compile("[a-z]{2,}|[A-Z]{2,}")

lower_m = re.findall(exp,lower)
upper_m = re.findall(exp,upper)
mix_m = re.findall(exp,mix)
mix2_m = re.findall(exp,mix2)

print(lower_m)
print(upper_m)
print(mix_m)
print(mix2_m)
Run Code Online (Sandbox Code Playgroud)

python regex python-3.x

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

在正则表达式组上使用数学函数

对于一个类,我必须编写一个函数,其形式为03:12:19(换句话说,3小时,12分钟和19秒),并将它们转换为相应的秒数.我已经开始但似乎无法让数学工作,这是我目前的代码:

def secs(timestr):
    import re
    timexp = re.compile('(\d\d):(\d\d):(\d\d)')
    calc = re.sub(timexp,r'int(\1)*3600+int(\2*60)+int(\3)',timestr)
    return print(calc)

str = '03:20:13'
secs(str)
Run Code Online (Sandbox Code Playgroud)

我已经搞乱了删除r,但它给了我一个奇怪的结果.救命?

python regex

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