使用谷歌(和这个网站)我看到了一些类似的问题,但我的问题仍然存在:
"我想绘制一个图像(不读取文件),能够操纵该图像中每个像素的颜色."
我看到另一个问题,建议做这样的事情:
from tkinter import *
A=Tk()
B=Canvas(A)
B.place(x=0,y=0,height=256,width=256)
for a in range(256):
for b in range(256):
B.create_line(a,b,a+1,b+1,fill=pyList[a][b])#where pyList is a matrix of hexadecimal strings
A.geometry("256x256")
mainloop()
Run Code Online (Sandbox Code Playgroud)
事实上,这回答了我的问题,但......这是非常缓慢的.我应该怎么做1920x1080图像?等我死?
所以我要求的东西与上面的代码相同,但速度更快
我找到了一种方法来改进jsbueno建议的方法,它在页面链接中解释:
我想用函数types.CodeType()创建一个新的代码对象.
几乎没有关于这个的文档和现有的文档说"不是为了胆小的"
告诉我我需要什么,并给我一些关于传递给types.CodeType的每个参数的信息,
可能发布一个例子.
注意:
在正常使用情况下,您只需要内置函数compile()
只有当您想要创建无法编写正常源代码并且需要直接访问字节码的新指令时,才应使用types.CodeType().
我有一个简单的问题来解决(或多或少)
,如果我看蟒蛇多的教程,我看到的是一个过程,应开始或多或少是这样的:
from multiprocessing import *
def u(m):
print(m)
return
A=Process(target=u,args=(0,))
A.start()
A.join()
Run Code Online (Sandbox Code Playgroud)
它应该打印0但没有打印.相反,它永远挂在了A.join()
.
如果我手动启动你这样做的功能
A.run()
Run Code Online (Sandbox Code Playgroud)
它实际上在shell上打印0但它不能同时工作
,例如以下代码的输出:
from multiprocessing import *
from time import sleep
def u(m):
sleep(1)
print(m)
return
A=Process(target=u,args=(1,))
A.start()
print(0)
Run Code Online (Sandbox Code Playgroud)
应该是
0
1
但实际上是
0
如果我在最后一行之前添加
A.run()
Run Code Online (Sandbox Code Playgroud)
然后输出变为
1
0
这对我来说似乎有点困惑......
如果我尝试加入这个过程,它会永远等待.
但是,如果它可以帮助给我一个答案
我的操作系统为Mac OS X 10.6.8
使用Python版本是3.1和3.3
我的电脑有1个英特尔酷睿i3处理器
--Update--
我注意到这种奇怪的行为只有在从IDLE启动程序时才会出现,如果我从终端运行程序一切正常,那么这个问题必须连接到一些IDLE错误.
但是来自终端的runnung程序甚至更奇怪:使用范围(100000000)之类的东西激活我所有计算机的内存,直到程序结束; 如果我记得很清楚这不应该发生在python 3中,只有在较旧的python版本中.我希望这些新信息可以帮助你给出答案
- 更新2--
即使我不从我的进程执行输出,也会发生错误,因为设置此:
def u():
return
Run Code Online (Sandbox Code Playgroud)
作为进程的目标,然后启动它,如果我尝试加入进程,空闲等待永远
我们假设我们有一个python字符串(不是文件,字符串,没有文件)
TheString = "k=abs(x)+y"
Run Code Online (Sandbox Code Playgroud)
好?现在我们将字符串编译成一段python字节码
Binary = compile( TheString , "<string>" , "exec" )
Run Code Online (Sandbox Code Playgroud)
现在的问题:我怎么能从Binary得到,假设我不知道TheString,一个代表原始字符串对象的字符串?
很快:与compile()相反的功能是什么?
我将展示代码的减少部分,这给我一个问题.
"_tkinter.TclError:image"pyimageN"不存在" - 其中N保持1或2或3等...
有一个第一类显示在后台使用图像的菜单.
class MenuWindow(): #in this class we show the main part of the program
def __init__(self):
self.Menu=Tk()
self.MCanvas=Canvas(self.Menu)
self.MCanvas.bind("<ButtonPress-1>",self.MenuClick)
#unuseful lines that configure the window and the canvas#
self.Background=PhotoImage(height=600,width=700)#a simple tkinter.PhotoImage object
#other unuseful lines that draw the photoimage ( without reading any file, with the method put())#
self.MCanvas.create_image((x,y),image=self.Background,state="normal")
#unuseful lines that continue the drawing of the canvas#
Run Code Online (Sandbox Code Playgroud)
第二个类显示另一个窗口,在后台使用另一个图像.这个类是由第一个类通过函数self.MenuClick的点击绑定启动的.
class EditorWindow(): #in this class we show the main part of the program
def __init__(self):
self.Eenu=Tk()
self.ECanvas=Canvas(self.Eenu) …
Run Code Online (Sandbox Code Playgroud) 我不知道这个问题是否有重复,但我还没有找到.
使用python时,你可以快速创建GUI,但有时你找不到一个方法来做你想要的.例如,我有以下问题:
让我们假设有一个名为K的画布,其中有一个ID = 1(画布项id,而不是内存id)的矩形.
如果我想重绘项目,我可以删除它,然后用新设置重绘它.
K.delete(1)
K.create_rectangle(x1,y1,x2,y2,options...)
Run Code Online (Sandbox Code Playgroud)
这是问题:对象id改变; 如何重绘或移动或调整矩形大小或只是更改它而不用方法更改其ID?例如:
K.foo(1,options....)
Run Code Online (Sandbox Code Playgroud)
如果没有这样的方法,那么我应该用canvas对象id创建一个列表,但它不优雅而且不快.例如:
ItemIds=[None,None,etc...]
ItemIds[0]=K.create_rectangle(old options...)
K.delete(ItemIds[0])
ItemIds[0]=K.create_rectangle(new options...)
Run Code Online (Sandbox Code Playgroud) 嗨我或多或少是c的新手,当我学习如何使用结构和联合时,我发现了这个错误:"预期的表达式';' 令牌"我一直在寻找错误,但我找不到它.我要问的是以下代码中需要的更正.
我在mac os x上使用Gnu C Compiler
#include <stdio.h>;
#include <stdlib.h>;
struct lista;
struct elemento;
union member{
int i;
struct lista * n;};
struct elemento{
union member * v;
struct elemento * n;};
struct lista{
int len;
struct elemento * n;};
void append(struct lista* a , union member * e);
int main(void){
return 0;}
void append(struct lista * a , union member * e){
struct elemento ** j= ((*a).n)*; /* error here */
int c;
for(c=0;c<(*a).len;c++){
j=((**j).n)* ;} /* error …
Run Code Online (Sandbox Code Playgroud) python ×6
tkinter ×3
image ×2
python-3.x ×2
bytecode ×1
c ×1
decompiling ×1
macos ×1
pixel ×1
syntax-error ×1