Python是否有使用密码编码/解码字符串的内置简单方法?
像这样的东西:
>>> encode('John Doe', password = 'mypass')
'sjkl28cn2sx0'
>>> decode('sjkl28cn2sx0', password = 'mypass')
'John Doe'
Run Code Online (Sandbox Code Playgroud)
所以字符串"John Doe"被加密为'sjkl28cn2sx0'.要获取原始字符串,我将使用密钥'mypass'"解锁"该字符串,这是我的源代码中的密码.我希望这是我用密码加密/解密Word文档的方式.
我想使用这些加密的字符串作为URL参数.我的目标是混淆,而不是强大的安全性; 没有任何关键任务被编码.我意识到我可以使用数据库表来存储键和值,但我试图做到极简主义.
对于我的一个项目(参见BigPictu.re或bigpicture.js GitHub项目),我必须处理一个非常非常非常大的<div>容器.
我知道使用简单的方法可能会导致性能不佳,但我并不认为它主要存在于......仅限Chrome!
如果你测试这个小页面(见下面的代码),平移(点击+拖动)将是:
当然,我可以添加一些代码(在我的项目中),当你进行大量放大时,可能会隐藏可能非常大的字体大小的文本.但是,为什么Firefox和Internet Explorer正确处理它而不是Chrome?
在JavaScript,HTML或CSS中是否有一种方法可以告诉浏览器不要尝试为每个动作渲染整个页面(这里宽度为10000像素)?(仅渲染当前视口!)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
html, body {
overflow: hidden;
min-height: 100%; }
#container {
position: absolute;
min-height: 100%;
min-width: 100%; }
.text {
font-family: "Arial";
position: absolute;
}
</style>
</head>
<body>
<div id="container">
<div class="text" style="font-size: 600px; left:100px; top:100px">Small text</div>
<div class="text" style="font-size: 600000px; left:10000px; top:10000px">Very big text</div>
</div>
<script>
var container = …Run Code Online (Sandbox Code Playgroud) 我想查看特定页面上的访问者数量(我有URL).我在Google Analytics中找不到输入网址的位置,以便查找此特定网页的统计信息.
我有 :
Apache(v2.4)在我的服务器的端口80上www.domain1.com,启用了mod_proxy和mod_proxy_wstunnel
node.js + socket.io 在同一服务器的端口3001上.
www.domain2.com由于此处描述的方法,访问(使用端口80)重定向到2 . 我在Apache配置中设置了这个:
<VirtualHost *:80>
ServerName www.domain2.com
ProxyPass / http://localhost:3001/
ProxyPassReverse / http://localhost:3001/
ProxyPass / ws://localhost:3001/
ProxyPassReverse / ws://localhost:3001/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
除了websocket部分之外,它适用于所有内容:ws://...不会像代理那样传输.
当我访问该页面时www.domain2.com,我有:
Impossible to connect ws://www.domain2.com/socket.io/?EIO=3&transport=websocket&sid=n30rqg9AEqZIk5c9AABN.
Run Code Online (Sandbox Code Playgroud)
问题:如何使Apache代理也成为WebSockets?
对于类似地图的工具,我想禁用浏览器缩放功能.(我知道这通常是一个坏主意,但对于某些特定的网站,它是必要的).
我通过听键盘快捷键CTRL +/ CTRL -添加e.preventDefault()等来成功完成它.
但这并不妨碍从浏览器的缩放菜单更改缩放.
我试过了:
使用CSS: zoom: reset; 它适用于Chrome(请参阅此页面了解一个工作示例)但它在Firefox上根本不起作用.
在各种问题/答案中,我也发现了
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
但这似乎仅适用于移动设备.
如何防止缩放跨浏览器?
在脚本(而不是IPython)中使用它时,没有任何反应,即不显示绘图窗口:
import numpy as np
import pandas as pd
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts.plot()
Run Code Online (Sandbox Code Playgroud)
即使添加time.sleep(5),仍然没有.为什么?
有没有办法做到这一点,而无需手动调用matplotlib?
为了找到最小值的索引,我可以使用argmin:
import numpy as np
A = np.array([1, 7, 9, 2, 0.1, 17, 17, 1.5])
print A.argmin() # 4 because A[4] = 0.1
Run Code Online (Sandbox Code Playgroud)
但是如何找到k-最小值的指数?
我正在寻找类似的东西:
print A.argmin(numberofvalues=3)
# [4, 0, 7] because A[4] <= A[0] <= A[7] <= all other A[i]
Run Code Online (Sandbox Code Playgroud)
注意:在我的用例A中有大约10 000到100 000个值,我只对k = 10个最小值的索引感兴趣.k永远不会超过10.
拍摄一张纸时(例如,使用电话摄像头),我得到以下结果(左图)(jpg 在此处下载)。所需的结果(使用图像编辑软件手动处理)在右侧:

我想用openCV处理原始图像,以自动获得更好的亮度/对比度(以使背景更白)。
假设:图像具有A4纵向格式(在本主题中,我们无需对其进行透视变形),并且纸页为白色,可能带有黑色或彩色的文本/图像。
到目前为止,我已经尝试过:
各种自适应阈值方法,例如高斯,OTSU(请参阅OpenCV doc 图像阈值)。通常可以与OTSU配合使用:
ret, gray = cv2.threshold(img, 0, 255, cv2.THRESH_OTSU + cv2.THRESH_BINARY)
Run Code Online (Sandbox Code Playgroud)
但仅适用于灰度图像,不适用于彩色图像。此外,输出是二进制(白色或黑色),我不希望这样:我更喜欢保留彩色非二进制图像作为输出
如本建议答案(直方图均衡化不是彩色图像的工作- OpenCV的)或该一个(OpenCV的Python的equalizeHist彩色图像):
img3 = cv2.imread(f)
img_transf = cv2.cvtColor(img3, cv2.COLOR_BGR2YUV)
img_transf[:,:,0] = cv2.equalizeHist(img_transf[:,:,0])
img4 = cv2.cvtColor(img_transf, cv2.COLOR_YUV2BGR)
cv2.imwrite('test.jpg', img4)
Run Code Online (Sandbox Code Playgroud)
或使用HSV:
img_transf = cv2.cvtColor(img3, cv2.COLOR_BGR2HSV)
img_transf[:,:,2] = cv2.equalizeHist(img_transf[:,:,2])
img4 = cv2.cvtColor(img_transf, cv2.COLOR_HSV2BGR)
Run Code Online (Sandbox Code Playgroud)
不幸的是,结果非常糟糕,因为它会在本地创建可怕的微对比度(?):

我还尝试了YCbCr,这很相似。
我还尝试了CLAHE(对比度受限的自适应直方图均衡化),范围tileGridSize从 …
python opencv image-processing computer-vision image-thresholding
正如指出的用C编写的配置文件:\程序文件(x86)\ MyApp的\ myapp.cfg,对管理员权限,这是不是写在配置文件中是一个好主意C:\Program Files (x86)\MyApp\myapp.cfg.
而不是这个,我的软件现在将其数据保存在子目录中%ALLUSERSPROFILE%(例如:C:\ProgramData\MyApp\myapp.cfg在Win7上)
[我myfile = open(filename, 'a')在Python中使用它来执行此操作.]
我现在遇到有关此文件的问题:
User A,然后运行它,然后C:\ProgramData\MyApp\myapp.cfg编写了文件.User B,并再次运行我的软件:现在显示错误:User 2无权写入C:\ProgramData\MyApp\myapp.cfg (Permission denied).为什么?不是%ALLUSERSPROFILE%所有用户都可以写的地方吗?如何解决这个问题呢 ?
在最后用零填充数组的pythonic方法是什么?
def pad(A, length):
...
A = np.array([1,2,3,4,5])
pad(A, 8) # expected : [1,2,3,4,5,0,0,0]
Run Code Online (Sandbox Code Playgroud)
在我的实际用例中,实际上我想将数组填充到1024的最接近倍数.例如:1342 => 2048,3000 => 3072
python ×5
css ×2
html ×2
javascript ×2
numpy ×2
apache ×1
encryption ×1
matplotlib ×1
node.js ×1
opencv ×1
pandas ×1
passwords ×1
privileges ×1
proxy ×1
socket.io ×1
uac ×1
websocket ×1
winapi ×1
windows ×1
zero-pad ×1
zero-padding ×1