在这篇文章中,我们将为您详细介绍pythonUPXisnotavailable问题如何解决的内容,并且讨论关于pythonunsupportedoperation的相关问题。此外,我们还会涉及一些关于
在这篇文章中,我们将为您详细介绍python UPX is not available问题如何解决的内容,并且讨论关于python unsupportedoperation的相关问题。此外,我们还会涉及一些关于!!〜(not not tilde/bang bang tilde)如何改变“contains/included” Array方法调用的结果?、Android NDK UPX 加固、calico/node is not ready: BIRD is not ready: BGP not established、Css 伪类 input:not(disabled)not:[type="submit"]:focus的知识,以帮助您更全面地了解这个主题。
本文目录一览:- python UPX is not available问题如何解决(python unsupportedoperation)
- !!〜(not not tilde/bang bang tilde)如何改变“contains/included” Array方法调用的结果?
- Android NDK UPX 加固
- calico/node is not ready: BIRD is not ready: BGP not established
- Css 伪类 input:not(disabled)not:[type="submit"]:focus
python UPX is not available问题如何解决(python unsupportedoperation)
1. 报错
2. 错误原因
由于 pyinstaller 打包使用的是 UPX,打包时没找到这个应用,导致的报错!
3. 解决办法一
访问 UPX 官网下载:https://upx.github.io,【我使用的是Window 64版本】,所以下载的是win64的压缩包!
解压压缩包,获取upx.exe
立即学习“Python免费学习笔记(深入)”;
将 upx.exe 复制到 pyinstaller 安装目录下。【我的pyinstaller安装目录:D:\Python\Scripts】
最后再次执行打包命令
pyinstaller -F app.py
4. 解决办法二 【卸载pyinstaller】
1 |
|
2.【重新安装pyinstaller】
1 |
|
5. 解决办法三
注意报错:script ‘H:\
python 3.7 开发的小工具\python 3.7 批量将base64转图片\app.py’ not found
由于我的程序名称是 base64_to_png.py,我在打包得时候名称输入错误【app.py】,导致得【UPX is not available.】错误!!!直接将 app.py 替换为 base64_to_png.py!
注意:打包输入你自己编写得.py程序名称,打包输入你自己编写得.py程序名称,打包输入你自己编写得.py程序名称!!!重要低级错误,提醒自己,一早上就因为这个错误,去搞各种安装升级。细心啊!!!
以上就是
!!〜(not not tilde/bang bang tilde)如何改变“contains/included” Array方法调用的结果?
如果您在此处的jQueryinArray
页面上阅读了注释,则会有一个有趣的声明:
!!~jQuery.inArray(elm, arr)
现在,我相信双感叹号会将结果转换为typeboolean
,其值为true
。我不明白的是,~
在所有这些操作中,tilde()运算符的用途是什么?
var arr = ["one", "two", "three"];if (jQuery.inArray("one", arr) > -1) { alert("Found"); }
重构if
语句:
if (!!~jQuery.inArray("one", arr)) { alert("Found"); }
分解:
jQuery.inArray("one", arr) // 0~jQuery.inArray("one", arr) // -1 (why?)!~jQuery.inArray("one", arr) // false!!~jQuery.inArray("one", arr) // true
我还注意到,如果将波浪号放在前面,结果是-2
。
~!!~jQuery.inArray("one", arr) // -2
我不明白这里的波浪符号的目的。有人可以解释一下还是将我指向资源?
答案1
小编典典波浪号运算符实际上根本不是jQuery的一部分-在JavaScript本身中是按位NOT运算符。
参见 The Great Mystery of the Tilde(~). 。
您在实验中得到了奇怪的数字,因为您正在对整数执行按位逻辑运算(就我所知,整数可能存储为二进制补码或类似的数字…)
_二进制补码_说明了如何用二进制表示数字。我想我是对的。
答案2
小编典典!!~expr
评估false
何时expr
为-1
否则true
。与相同expr != -1
,只有断线*
之所以有效,是因为JavaScript按位运算将操作数转换为二进制补码形式的32位有符号整数。因此!!~-1
评估如下:
-1 = 1111 1111 1111 1111 1111 1111 1111 1111b // two''s complement representation of -1 ~-1 = 0000 0000 0000 0000 0000 0000 0000 0000b // ~ is bitwise not (invert all bits) !0 = true // ! is logical not (true for falsy)!true = false // duh
以外的值-1
将至少一位设置为零;否则为0
。反转它会产生一个真实的价值;将!
运算符两次应用于真实值会返回布尔值true。
当与一起使用时.indexOf()
,我们只想检查结果是否为-1
:
!!~"abc".indexOf("d") // indexOf() returns -1, the expression evaluates to false!!~"abc".indexOf("a") // indexOf() returns 0, the expression evaluates to true!!~"abc".indexOf("b") // indexOf() returns 1, the expression evaluates to true
!!~8589934591
评估为假,因此厌恶无法可靠地用于测试-1
。
答案3
小编典典您有时会~在前面看到一个特定的原因$.inArray
。
基本上,
~$.inArray("foo", bar)
是一种较短的方法
$.inArray("foo", bar) !== -1
$.inArray
如果找到第一个参数,则返回数组中该项的索引,如果找不到第一个参数,则返回-1。这意味着,如果要查找“此值在数组中吗?”的布尔值,则不能进行布尔值比较,因为-1是真实值,并且$ .inArray返回0(虚假值) ),则表示其实际位于数组的第一个元素中。
应用~
按位运算符导致-1
变为0
,并使0
变为-1
。因此,在数组中找不到该值并应用按位NOT不会得出虚假的值(0),其他所有值将返回非0的数字,并表示真实结果。
if (~$.inArray("foo", ["foo",2,3])) { // Will run}
并且它将按预期工作。
Android NDK UPX 加固
准备编译环境:
1、zlib-1.2.8.tar.gz
2、ucl-1.03.tar.gz
3、lzma443.tar.bz2
4、upx-hg-d9e7cb4b5485.tar.gz https://www.pysol.org:4443/hg/upx.hg
编译 UPX 设置环境变量:
export UPX_UCLDIR=/usr/local/android/upx/ucl-1.03
export UPX_ZLIBDIR=/usr/local/android/upx/zlib-1.2.8
export UPX_LZMADIR=/usr/local/android/upx/lzma
export UPX_LZMA_VERSION=0x443
export UPX_DIR=/usr/local/android/upx/upx-hg-d9e7cb4b5485
提示几点:
1、upx 使用上面给的链接下载,这个版本修复了加固 SO 后无法在手机上运行的错误
2、编译时提示找不到 libz 库,需要在 UPXDIR/src/MakeFile 中添加
INCLUDES += -I$(UPX_ZLIBDIR)
LIBS += $(addprefix -L,$(dir $(wildcard $(UPX_ZLIBDIR)/libz$(libext))))
最后在 UPX 根目录使用 make all 编译,编译完成后会在 src 目录下生成 upx.out
准备 JNI 环境
使用编译好的 Upx.out 将 jni 生成的.so 文件加固后放入 APK 中即可在手机上运行起来。
加固语法:
$./upx.out -f -o libjin_upx.so libjni.so
.....
packed 1 file.
calico/node is not ready: BIRD is not ready: BGP not established
calico/node is not ready: BIRD is not ready: BGP not established
Css 伪类 input:not(disabled)not:[type="submit"]:focus
我想为输入元素应用一些 css,我只想对未禁用且不是提交类型的输入执行此操作,下面的 css 不起作用,也许有人可以解释我必须如何添加它。
input:not(disabled)not:[type="submit"]:focus{box-shadow:0 0 2px 0 #0066FF;-webkit-box-shadow:0 0 4px 0 #66A3FF;}
答案1
小编典典代替:
input:not(disabled)not:[type="submit"]:focus {}
利用:
input:not([disabled]):not([type="submit"]):focus {}
disabled
是一个属性,因此它需要括号,并且您似乎在:not()
选择器上混淆了/缺少冒号和括号。
演示:http: //jsfiddle.net/HSKPx/
需要注意的一件事:我可能错了,但我不认为disabled
输入通常可以接收焦点,因此该部分可能是多余的。
或者,使用:enabled
input:enabled:not([type="submit"]):focus { /* styles here */ }
同样,我想不出禁用输入可以接收焦点的情况,因此似乎没有必要。
今天关于python UPX is not available问题如何解决和python unsupportedoperation的介绍到此结束,谢谢您的阅读,有关!!〜(not not tilde/bang bang tilde)如何改变“contains/included” Array方法调用的结果?、Android NDK UPX 加固、calico/node is not ready: BIRD is not ready: BGP not established、Css 伪类 input:not(disabled)not:[type="submit"]:focus等更多相关知识的信息可以在本站进行查询。
本文标签: