需要明确的是:我刚刚在2周前开始使用Python,但我是C#,ASP,PHP,JavaScript开发人员.
我刚刚用Python和PyQt开始了一个新项目,我希望我的项目能够成为一台服务器,能够在其他计算机上与该服务器的其他实例进行通信.
所以,我需要获取计算机的IP地址和主机名.
首先,我考虑使用MSDOS"net view"命令,但这是在我的工作中尝试此命令之前,并且发现这可能需要大约15秒(我认为这太慢了).
我有这个想法:https://stackoverflow.com/a/15497083/1598891
此外,"net view"命令可以返回不再在网络上的计算机,并在尝试按主机名获取其IP地址时导致异常(每次无法访问计算机时也会减慢进程).
我的问题:是否有办法在本地网络上获取所有计算机IP和主机名而不net view在Windows上传递,因为这net view可能是一个缓慢的操作?
另外,有没有办法只获得运行我的应用程序的计算机?(所以它会更快)
提前致谢
我正在构建一个Python/Flask(完全是ajax,没有完整的页面重新加载)Web应用程序,当URL上的尖锐("#")符号发生变化时,我改变了我的母版页的内容(Ben Alman,HashChange事件)
我想捕获所有Error-404以在我的母版页中附加错误页面
考虑以下代码
from flask import Flask, redirect
#WebServerGatewayInterface
class WSGI():
def __init__(self):
self.app = Flask(__name__)
self.app.debug = True
wsgi = WSGI()
@wsgi.app.route("/")
def Home():
return "Home"
@wsgi.app.route("/Contact")
def Contact():
return "Contact"
@wsgi.app.errorhandler(404)
def PageNotFound(error):
return "PageNotFound"
if __name__ == '__main__':
wsgi.app.run(host='127.0.0.1', port=7777)
Run Code Online (Sandbox Code Playgroud)
我想了解为什么当我在尖锐("#")符号后面添加一个不存在的URL时,它不会被错误处理程序所困?
例如
127.0.0.1:7777
#It returns "Home"
127.0.0.1:7777/Contact
#It returns "Contact"
127.0.0.1:7777/Aasdasdasdasd
#It returns "PageNotFound"
127.0.0.1:7777/#/asdsaasdasdasdas
#It returns "Home", which is not right since this URL doesn't exist
127.0.0.1:7777/#!/asdsaasdasdasdas
#It returns "Home", not ok...
127.0.0.1:7777/#!/Contact
#It …Run Code Online (Sandbox Code Playgroud) 我想要一些解释.我有一个泛型类获取类型T的列表并在其上执行一个Delegate方法,但我想将IEnumerable传递给我的类,以便能够处理List,Dictionary等.
假设这段代码:
public static class GenericClass<T>
{
public delegate void ProcessDelegate(ref IEnumerable<T> p_entitiesList);
public static void ExecuteProcess(ref IEnumerable<T> p_entitiesList, ProcessDelegate p_delegate)
{
p_delegate(ref p_entitiesList);
}
}
public static void Main()
{
GenericClass<KeyValuePair<string, string>.ProcessDelegate delegateProcess =
new GenericClass<KeyValuePair<string, string>.ProcessDelegate(
delegate (ref IEnumerable<KeyValuePair<string, string>> p_entitiesList)
{
//Treatment...
});
Dictionary<string, string> dic = new Dictionary<string, string>;
GenericClass<KeyValuePair<string, string>>.ExecuteProcess(ref dic, delegateProcess);
//I get this error :
// cannot convert from ref Dictionary<string, string> to ref IEnumerable<KeyValuePair<string, string>>
}
Run Code Online (Sandbox Code Playgroud)
我想要一些解释,为什么我不能将Dictionnary作为KeyValuePair的IEnumerable传递,因为Dictionary继承自IEnumerable并使用KeyValuePair.
此外,他们是更好的方式吗?
python ×2
c# ×1
delegates ×1
dictionary ×1
flask ×1
generics ×1
ienumerable ×1
ip-address ×1
networking ×1
routing ×1
url ×1
windows ×1