如何检查代码中某处是否导入了模块?
if not has_imported("sys"):
print 'you have not imported sys'
Run Code Online (Sandbox Code Playgroud)
我想检查我是否已经导入模块的原因是因为我有一个我不想导入的模块,因为有时它会弄乱我的程序.
当我运行命令“firebase deploy --only functions”时,即使我没有更新我的函数,也需要大约 1 分钟来部署我的函数。
难道我做错了什么?
可能是因为我的函数文件夹中的 node_modules 文件夹吗?
firebase 中的函数部署是不是很慢?
控制台日志:
C:\Users\myUser\Desktop\myProject> firebase deploy --only functions
=== Deploying to 'myProject'...
i deploying functions
i functions: ensuring necessary APIs are enabled...
+ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (36.96 KB) for uploading
+ functions: functions folder uploaded successfully
i functions: updating Node.js 10 (Beta) function myFunction(europe-west1)...
i scheduler: ensuring necessary APIs are enabled...
i pubsub: ensuring necessary APIs …Run Code Online (Sandbox Code Playgroud) 我通过使用python的subprocess模块使用ping命令打开cmd窗口,在python中执行ping命令。
例如:
import subprocess
p = subprocess.Popen('ping 127.0.0.1')
Run Code Online (Sandbox Code Playgroud)
之后,我检查输出是否包含“从'ip':答复”,以查看ping是否成功。
该命令在cmd为英语的所有情况下均有效。
我该怎么做才能在任何cmd语言上查验ping是否成功?
我想在我的可执行文件中捆绑一个很棒的网站复印机,用python 3和py2exe创建.
在常见问题解答部分的HTTrack官方网站上,他们说有可用的DLL /库版本.
但是我不知道从哪里开始,甚至一旦它被捆绑在可执行文件中如何使用DLL.
那么如何将httrack捆绑成python 3可执行文件,并使用其功能开始复制网站?
编辑:
我发现httrack-py 0.6.1但它只支持python 2并使用旧版本的httrack,所以我不能将它用于我的可执行文件.
假设我有以下 IP 范围“10.0.0.x”。我需要在这个 ips 范围内循环 - “10.0.0.1-255”,ping 每个,并检查响应。
这是我的代码:
for ip in range(1, 256):
fullIP = '10.0.0' + ip
if(Ping(fullIP) == True):
print(fullIP + ' responded')
else:
print(fullIP + ' did not respond')
Run Code Online (Sandbox Code Playgroud)
这段代码有效,但不幸的是它很慢。
我想通过多线程提高效率,所以我做了以下事情:
def PingRange(start, end):
for ip in range(start, end):
fullIP = '10.0.0' + ip
if(Ping(fullIP) == True):
print(fullIP + ' responded')
else:
print(fullIP + ' did not respond')
try:
thread.start_new_thread( PingRange, (1, 123))
thread.start_new_thread( PingRange, (123, 256))
except:
print "Error: unable to start thread"
Run Code Online (Sandbox Code Playgroud)
这段代码也有效,但它可以更好地工作,更通用。
如果这段代码写得正确,那么我不会只是不断地创建两个线程;我会创建操作系统允许的尽可能多的线程。 …
我有以下 JSON:
{
"Info": {
"User": 2,
"String": "foo"
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,TLama 的 Inno JSON 配置库不适用于 JSON 字符串,而只能用于 json 文件。
我尝试使用 JSON 字符串而不是 json 文件的路径,但没有用。
if JSONQueryInteger('{"Info":{"User":2,"String":"foo"}}', 'Info', 'User', 0, IntValue) then
MsgBox('User=' + IntToStr(IntValue), mbInformation, MB_OK);
Run Code Online (Sandbox Code Playgroud)
我知道我可以将我的 JSON 保存到一个文件然后解析它,但它看起来有点混乱。
如何在 Inno Setup 中解析 JSON 字符串?
我在 Inno Setup 上有一个安装程序的安装程序。
该安装程序有多种形式供用户输入。
但是,如果用户没有输入适当的信息,我想给他重新单击安装程序并输入适当信息的选项。
我试图像这样实现这一目标:
[Files]
Source: "C:\Users\myUser\Output\Setup.exe"; DestDir: "{app}";
Run Code Online (Sandbox Code Playgroud)
但是当我运行代码时出现以下错误:(源文件“C:\Users\myUser\Output\Setup.exe”不存在。)
那么如何将安装程序本身放入安装中?
我在Inno Setup中创建了自己的自定义最小化按钮。
我想知道如何在单击时最小化安装程序。
最小化应该类似于安装程序边框上的默认最小化按钮。
我已经尝试过以下方法:
sc create Test start=auto binpath= "C:\PATH\Example.exe Param1"
Run Code Online (Sandbox Code Playgroud)
这可行,但当我尝试启动该服务时出现错误。
如何向服务路径添加参数?
我的安装程序使用Inno Setup中的以下命令创建服务:
Filename: {sys}\sc.exe; Check: IsAdminLoggedOn; Parameters: "create Example start= delayed-auto binPath= ""{app}\Example.exe"""; Flags: runhidden
Run Code Online (Sandbox Code Playgroud)
此行适用于Windows XP以外的所有Windows,因为Windows XP delayed-auto不支持启动类型.
我需要使用delayed-auto启动类型有两个原因.
delayed-auto只在所有基本服务都启动后才启动.那么我可以在Windows XP上创建一个具有类似于启动类型的服务delayed-auto,如果没有,那么有哪些替代方案?
我知道如何使用这种方法覆盖文件
[Files]
Source: "Project\*"; DestDir: "{app}"; \
Flags: ignoreversion recursesubdirs onlyifdoesntexist; Permissions: everyone-full
Run Code Online (Sandbox Code Playgroud)
但是,当我使用“安装或更改程序”部分中的“更改”选项更改程序时,我不想覆盖这些文件。
我为我的安装程序创建更改选项,如下所示:
[setup]
AppModifyPath="{srcexe}" /modify=1
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我使用创建进度条TNewProgressBar。
进度条的默认颜色是绿色。
我想将颜色更改为蓝色。
好吧,所以我在我的代码中有错误,其中包括一个迭代器.
这是我的代码的错误部分:
for(list<char>::iterator it = eatUpRight.begin();it!= eatUpRight.end();it+=2)
{
board[*it][*(it+1)]=3;
_3eat2(*it,*(it+1),eatOptions,newCurrentEatingOption);
board[*it][*(it+1)]=0;
}
Run Code Online (Sandbox Code Playgroud)
不要担心电路板和_3eat2以及任何其他标识符,因为这不是问题所在.
你需要知道的是,该板是一个二维阵列.
board[*it][*(it+1)]
Run Code Online (Sandbox Code Playgroud)
(它)是2d数组的索引,但它给了我错误.并在我试图使用迭代器的其他地方给我其他错误.
那么请告诉我这段代码有什么问题吗?
inno-setup ×6
python ×4
pascalscript ×3
installation ×2
bundle ×1
c++ ×1
dll ×1
firebase ×1
httrack ×1
iterator ×1
json ×1
list ×1
ping ×1
py2exe ×1
service ×1
subprocess ×1
windows-xp ×1