# ! /usr/bin/env python
# -*- coding: utf-8 -*-
# login_frontend.py
""" Python 2.7.3
Cherrypy 3.2.2
PostgreSQL 9.1
psycopy2 2.4.5
SQLAlchemy 0.7.10
"""
Run Code Online (Sandbox Code Playgroud)
我在一个Python/SQLAlchemy类中连接四个表时遇到问题.我正在尝试这个,所以我可以迭代这个类的实例,而不是我从连接ORM表中得到的命名元组.
为什么这一切?因为我已经开始这样了,而且我走得太远,只是离开它.此外,它必须是可能的,所以我想知道它是如何完成的.
对于这个项目(cherrypy web-frontend),我得到了一个已经完成的包含表类的模块.我把它移到了这篇文章的底部,因为也许你甚至都不需要它.
以下只是联接多表类尝试的一个示例.我选择了一个简单的案例,其中只有两个表和一个联结表.在这里,我不会写入这些连接表,但它在其他地方是必要的.这就是为什么类可以很好地解决这个问题.
这是给定的表类模块和这两个网站的示例的组合:
- 针对多个表映射类
- SQLAlchemy:一个类 - 两个表
class JoinUserGroupPerson (Base):
persons = md.tables['persons']
users = md.tables['users']
user_groups = md.tables['user_groups']
groups = md.tables['groups']
user_group_person =(
join(persons, users, persons.c.id == users.c.id).
join(user_groups, users.c.id == user_groups.c.user_id).
join(groups, groups.c.id == user_groups.c.group_id))
__table__ = user_group_person
""" I expanded the redefinition of 'id' to three tables,
and …Run Code Online (Sandbox Code Playgroud) 简而言之:我想为我的程序安装两个控制台.一个用于活动用户输入.另一个用于纯日志输出. (工作代码包括已接受的答案在下面的问题文本中,在"编辑-3"部分下面.在"编辑-1"部分和"编辑-2"部分是功能解决方法.)
为此,我有一个主命令行Python脚本,它应该只为日志输出打开一个额外的控制台.为此,我打算将日志输出重定向到第二个控制台的stdin,该日志输出将打印在主脚本的控制台上,我将其作为子进程启动.(我使用subprocess,因为我没有找到任何其他方法来打开第二个控制台.)
问题是,似乎我能够发送到第二个控制台的stdin - 但是,在第二个控制台上没有任何内容被打印出来.
以下是我用于实验的代码(在Windows 10下的PyDev上使用Python 3.4).该函数writing(input, pipe, process)包含将生成的字符串复制到pipevia子进程打开的控制台的as 传递的stdin的部分.函数writing(...)通过类运行writetest(Thread).(我留下了一些代码,我注释掉了.)
import os
import sys
import io
import time
import threading
from cmd import Cmd
from queue import Queue
from subprocess import Popen, PIPE, CREATE_NEW_CONSOLE
REPETITIONS = 3
# Position of "The class" (Edit-2)
# Position of "The class" (Edit-1)
class generatetest(threading.Thread):
def __init__(self, queue):
self.output = queue
threading.Thread.__init__(self)
def run(self):
print('run generatetest')
generating(REPETITIONS, self.output)
print('generatetest done')
def getout(self):
return self.output
class …Run Code Online (Sandbox Code Playgroud) 我有一个文件,其中包含特定偏移量的特定格式的单个图像.我已经可以得到一个类文件的支持嵌入图像read(),seek()和tell().我想利用现有的PIL解码器来处理嵌入的图像,但能够将整个文件本身视为"图像文件".
我有一个带有黑色背景和白色线条的2D绘图(从Autocad导出),我想使用Python PIL库创建一个保留行的缩略图.
但是我使用"缩略图"方法得到的只是一张散布着白点的黑色图片.
请注意,如果我将图像放入具有固定宽度的IMG标记中,我将获得我想要的内容(但图像已完全加载).
您的评论之后,这是我的示例代码:
from PIL import Image
fn = 'filename.gif'
im = Image(fn)
im.convert('RGB')
im.thumbnail((300, 300), Image.ANTIALIAS)
im.save('newfilename.png', 'PNG')
Run Code Online (Sandbox Code Playgroud)
我能怎么做?
我正在尝试使用PIL绘制一个带圆角的矩形和一个渐变填充颜色.我发现了一个很酷的网站(http://web.archive.org/web/20130306020911/http://nadiana.com/pil-tutorial-basic-advanced-drawing#Drawing_Rounded_Corners_Rectangle),它展示了如何绘制纯色圆角矩形,我对此很满意,但我希望能够绘制一个在顶部开始呈浅红色并在底部呈现深红色的矩形.
我最初的想法是使用上面网站中的代码绘制一个圆角矩形,然后使用Alpha混合在圆角矩形上覆盖第二个白色到黑色矩形.我尝试过的所有东西最终都会在我的脸上爆炸.
我已经看到了一些使用numpy的难得的解决方案,但是我还不够熟练将这些代码片段转换为成功的解决方案.如果有人能够展示如何修改上面链接中的代码,实现我的叠加想法,或者展示一个完全更好的解决方案来获得Python中使用渐变填充的圆角矩形,我将不胜感激.
干杯,摩天
我可以在 python 中将图像大小调整为给定的高度和宽度吗,我使用 python 2.5,并且我尝试按照本教程http://effbot.org/imagingbook/introduction.htm,并且我安装了图像的 PIL 库,但是当我尝试写:
import Image
im = Image.open("test.jpg")
Run Code Online (Sandbox Code Playgroud)
我从 import:open 中得到了未定义的变量,尽管import Image没有给出错误?提前致谢。
我对 JPEG 进行了一些实验,文档说“100 完全禁用了 JPEG 量化阶段”。
但是,我在保存过程中仍然进行了一些像素修改。这是我的代码:
import Image
red = [20,30,40,50,60,70];
img = Image.new("RGB", [1, len(red)], (255,255,255))
pix = img.load()
for x in range(0,len(red)):
pix[0,x] = (red[x],255,255)
img.save('test.jpg',quality=100)
img = Image.open('test.jpg')
pix = img.load()
for x in range(0,len(red)):
print pix[0,x][0],
Run Code Online (Sandbox Code Playgroud)
我得到了意外的输出:22 25 42 45 62 65
我应该怎么做才能保留像素值?请注意,我也尝试过使用imagejpeg使用 PHP ,当 quality=100 时,它给了我正确的值。
我可以png用来保存,但我想知道这背后的原因,以及是否有任何选择可以避免
我有两个JPEG,并希望将一个叠加在另一个上,其结果与Photoshop(和Fireworks)中提供的"亮度"模式相同.你可以在这里阅读更多关于亮度模式的信息:http://www.adobetutorialz.com/articles/662/1/Photoshop%92s-Luminosity-Mode
我怎样才能做到这一点?编程语言并不重要,但我最熟悉Python和PHP(按此顺序).Python Imaging Library看起来非常合适,但是光度不是内置函数,我不知道正确的程序.见http://effbot.org/imagingbook/imagechops.htm
有关于以下脚本的跟随问题和需要答案,这些脚本将在上传之前预览照片.该脚本来自http://jsbin.com/uboqu3/edit#javascript,html
1)该脚本适用于Firefox,对IE没有好处.如何让它适用于IE?
2)没有删除照片的方法.需要像预览照片上安装的小图像"X",单击此"X"将删除照片.谁能提供这个解决方案?
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#img_prev')
.attr('src', e.target.result)
.height(200);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
</style>
</head>
<body>
<input type='file' onchange="readURL(this);" />
<img id="img_prev" src="#" alt="your image" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud) python ×8
image ×4
cherrypy ×1
console ×1
drawing ×1
gradient ×1
input ×1
javascript ×1
jquery ×1
mapping ×1
orm ×1
php ×1
python-2.5 ×1
real-time ×1
resize ×1
sqlalchemy ×1
string ×1
subprocess ×1
thumbnails ×1
upload ×1