def show():
file = raw_input("What is the name of the image file? ")
picture = Image(file)
width, height = picture.size()
pix = picture.getPixels()
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写代码来显示此图像,但此代码不提供图像.如何更改我的代码才能显示此图像?
我有一组单词如下:
['Hey, how are you?\n','My name is Mathews.\n','I hate vegetables\n','French fries came out soggy\n']
Run Code Online (Sandbox Code Playgroud)
在上面的句子中,我需要识别以?or .或'gy' 结尾的所有句子.并打印最后一个字.
我的方法如下:
# words will contain the string i have pasted above.
word = [w for w in words if re.search('(?|.|gy)$', w)]
for i in word:
print i
Run Code Online (Sandbox Code Playgroud)
我得到的结果是:
嘿,你怎么样?
我的名字是马修斯.
我讨厌蔬菜
炸薯条湿透了
预期的结果是:
您?
马修斯.
浸水
这是我的代码,用于将数据存储到HashMap中并使用迭代器显示数据
public static void main(String args[]) {
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("aaa", "111");
hm.put("bbb", "222");
hm.put("ccc", "333");
hm.put("ddd", "444");
hm.put("eee", "555");
hm.put("fff", "666");
Iterator iterator = hm.keySet().iterator();
while (iterator.hasNext()) {
String key = (String) iterator.next();
String val = hm.get(key);
System.out.println(key + " " + val);
}
}
Run Code Online (Sandbox Code Playgroud)
但它没有按照我存储的顺序显示.有人可以告诉我哪里出错了吗?我怎样才能获得订单中的元素?
我想使用子进程让20个写入脚本实例并行运行.假设我有一个大的网址列表,其中包含100,000个条目,我的程序应该控制我的脚本的20个实例始终在该列表上工作.我想按如下方式编写代码:
urllist = [url1, url2, url3, .. , url100000]
i=0
while number_of_subproccesses < 20 and i<100000:
subprocess.Popen(['python', 'script.py', urllist[i]]
i = i+1
Run Code Online (Sandbox Code Playgroud)
我的脚本只是将内容写入数据库或文本文件.它不输出任何东西,不需要比网址更多的输入.
我的问题是我找不到如何获得活动子进程数的东西.我是一个新手程序员,所以每个提示和建议都是受欢迎的.我还想知道如果加载了20个子进程,while循环再次检查条件,我怎么能管理它?我想过可能会在它上面放一个while循环,比如说
while i<100000
while number_of_subproccesses < 20:
subprocess.Popen(['python', 'script.py', urllist[i]]
i = i+1
if number_of_subprocesses == 20:
sleep() # wait to some time until check again
Run Code Online (Sandbox Code Playgroud)
或者也许还有一种可能性,即while循环总是检查子进程的数量?
我还考虑过使用模块多处理,但我发现只使用子处理调用script.py而不是多处理函数非常方便.
也许有人可以帮助我并引导我走向正确的方向.非常感谢!
python parallel-processing subprocess multiprocessing python-3.x
我有两个并行运行的函数,每个函数都返回一个值.我需要等待两个函数完成,然后处理它们的返回.我怎么能在python中实现这一点.假设
def fun1():
#do some calculation#
return val1
def fun2():
#do some calculation#
return val2
Run Code Online (Sandbox Code Playgroud)
我想fun1和fun2并行运行然后需要计算
valsum = val1+val2
Run Code Online (Sandbox Code Playgroud) 几天来,我一直在努力学习如何在 Python 中正确使用 unittest 库。我已经掌握了一些基础知识,但我对自己提出了挑战 - 测试我之前创建的两个函数。这些是函数:
def PatternMatch(self, message, number):
ret_status = 2 # 'No match'
ret_pattern = -1
for pattern in self.PatternList:
if pattern.active == 1 and pattern.LA == number:
try:
RegExp = re.compile(pattern.regex)
if RegExp.match(message):
ret_status = 1
ret_pattern = pattern.ID
break
return ret_status, ret_pattern
def GetPattern(self, patternID):
pattern = None
db = Database()
query = 'CALL PATTERN_GET'
query += '(@sql_err_code, @my_status, @my_msg, %s)'
ret = db.query(query, [patternID])
if len(ret['data']) == 2:
pattern = Pattern(ret['data'][1])
else:
pattern …Run Code Online (Sandbox Code Playgroud) 我有一个具有文件列表的文件,但它增加了\n在最后我怎么能有蟒蛇只是写我需要一个新的行信息没有得到\n的方式,这样的方式我的信息将被称为X.acc不x.acc\n?这是我写入文件的代码
def add(x):
nl = "\n"
acc = ".acc"
xy = x + acc
exyz = xy
xyz = exyz
xxx = str(xyz)
tf = open('accounts.dat',"a+")
tf.writelines(nl)
tf.writelines(xxx)
tf.close
Run Code Online (Sandbox Code Playgroud)
以下是调用该文件的代码:
import sys
tf = open('accounts.dat','r')
names = tf.readlines()
u = choicebox(msg="pick something",title = "Choose an account",choices=(names))
counter_file = open(u, 'r+')
content_lines = []
for line in counter_file:
if line == "credits =":
creds = line
else:
False
for line in counter_file:
if …Run Code Online (Sandbox Code Playgroud) 如何给panel1添加背景图片?有哪个命令?
代码:
import wx
import wx
appy=wx.App()
class cg(wx.Frame) :
def __init__(self,parent,id) :
wx.Frame.__init__(self,parent,id,'GPA',pos=(1000,600),size=(600,400))
#splitter = wx.SplitterWindow(self, -1)
panel1 = wx.Panel(self)
panel2 = wx.Panel(panel1, -1,size=(600,200),style=wx.BORDER_SUNKEN)
panel3 = wx.Panel(panel1, -1,pos=(0,200),size=(600,200),style=wx.BORDER_SUNKEN)
#panel3=wx.panel(panel1,-1,pos=(300,200),size=(600,200),style=wx.BORDER_SUNKEN)
#panel13 = wx.Panel(panel1, -1, style=wx.BORDER_SUNKEN)
#panel13 = wx.Panel(panel1, -1, style=wx.BORDER_SUNKEN)
#panel13 = wx.Panel(panel1, -1, style=wx.BORDER_SUNKEN)
#button1=wx.Button(panel1,label='exit',pos=(10,10),size=(10,10))
#self.cnt1=wx.TextCtrl(panel1,pos=(40,60),size=(120,30))
if __name__=='__main__' :
app=wx.PySimpleApp()
frame=cg(parent=None,id=-1)
frame.Show()
app.MainLoop()
Run Code Online (Sandbox Code Playgroud) 我已经定义了如下函数来尝试在两组数据之间进行插值.当我运行它时,我收到消息:
for i, j in range(0, len(wavelength)):
TypeError: 'int' object is not iterable
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么.不可否认,我对此并不擅长.
def accountforfilter(wavelength, flux, filterwavelength, throughput):
filteredwavelength=[]
filteredflux=[]
for i in range(0, len(wavelength)):
if wavelength[i] in filterwavelength[j]:
j=filterwavelength.index(wavelength[i])
filteredwavelength.append(wavelength[i])
filteredflux.append(flux[i]*throughput[j])
elif wavelength[i]<filterwavelength[j]<wavelength[i+1]:
m=((throughput[j+1]-throughput[j])/(filterwavelength[j+1]-filterwavelength[j])
c=throughput[j]-(m*(wavelength[i]))
filteredwavelength.append(wavelength[i])
filteredflux.append(flux[i]*(m*wavelength[i]+c)
return filteredwavelength, filteredflux
Run Code Online (Sandbox Code Playgroud) python ×7
python-3.x ×2
hashmap ×1
int ×1
iterator ×1
java ×1
list ×1
subprocess ×1
unit-testing ×1
wxpython ×1