假设如下:
>>> s = set([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)
如何获得的值(任意值)出来s而不做s.pop()?我想把这个项留在集合中,直到我确定我可以删除它 - 我只能在异步调用另一个主机后才能确定.
又快又脏:
>>> elem = s.pop()
>>> s.add(elem)
Run Code Online (Sandbox Code Playgroud)
但是你知道更好的方法吗?理想情况下在恒定的时间.
假设您想在某处保存一堆文件,例如在BLOB中.假设你想通过网页将这些文件输出,并让客户端自动打开正确的应用程序/查看器.
假设:浏览器通过HTTP响应中的mime-type(content-type?)标头确定要使用的应用程序/查看器.
基于该假设,除了文件的字节外,您还希望保存MIME类型.
您如何找到文件的MIME类型?我目前在Mac上,但这也适用于Windows.
将文件发布到网页时,浏览器是否会添加此信息?
是否有一个整洁的python库来查找这些信息?WebService或(甚至更好)可下载的数据库?
我想在C#中测试一个包含文件路径的字符串,以确定是否存在该文件(类似于-ePerl或os.path.exists()Python中的测试).
我想介绍一些我正在编写的C#应用程序的跟踪.可悲的是,我永远不会真的记得它是如何工作的,并且希望有一个具有参考品质的教程来检查它们.它应该包括:
你知道我们应该链接到的超级教程吗?
编辑:格伦斯拉文指出我正确的方向.将其添加到您的App.config/Web.config里面<configuration/>:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter"
initializeData="trace.log" />
</listeners>
</trace>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
这将添加一个TextWriterTraceListener将捕获您发送到的所有内容Trace.WriteLine等.
编辑: @DanEsparza指出你应该使用Trace.TraceInformation,Trace.TraceWarning而Trace.TraceError不是Trace.WriteLine,因为它们允许你以相同的方式格式化消息string.Format.
提示:如果您不添加任何侦听器,那么您仍然可以使用SysInternals程序DebugView(Dbgview.exe)查看跟踪输出:http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
我在reddit上看到了这个,它让我想起了我的一个vim抱怨:它用德语显示了UI .该死的,你!我想要英语,但由于我的操作系统是用德语设置的(我们办公室的标准),我想vim实际上是想帮助.
为了让vim切换UI语言,我必须执行哪些神奇的咒语?我曾尝试在各种场合使用谷歌搜索,但似乎无法找到答案(不,谷歌,你是我的朋友*拍*,*拍*,但我已经知道如何改变语法高亮,谢谢!) ...
编辑:使用下面的所有好的提示,我最终添加到我的顶部.vimrc(在Windows 7上运行Vim 7.2)
set langmenu=en_US.UTF-8 " sets the language of the menu (gvim)
language en " sets the language of the messages / ui (vim)
Run Code Online (Sandbox Code Playgroud) 我想做相当于:
object result = Eval("1 + 3");
string now = Eval("System.DateTime.Now().ToString()") as string
Run Code Online (Sandbox Code Playgroud)
在Biri的链接之后,我得到了这个片段(修改后删除了过时的方法ICodeCompiler.CreateCompiler():
private object Eval(string sExpression)
{
CSharpCodeProvider c = new CSharpCodeProvider();
CompilerParameters cp = new CompilerParameters();
cp.ReferencedAssemblies.Add("system.dll");
cp.CompilerOptions = "/t:library";
cp.GenerateInMemory = true;
StringBuilder sb = new StringBuilder("");
sb.Append("using System;\n");
sb.Append("namespace CSCodeEvaler{ \n");
sb.Append("public class CSCodeEvaler{ \n");
sb.Append("public object EvalCode(){\n");
sb.Append("return " + sExpression + "; \n");
sb.Append("} \n");
sb.Append("} \n");
sb.Append("}\n");
CompilerResults cr = c.CompileAssemblyFromSource(cp, sb.ToString());
if (cr.Errors.Count > 0)
{
throw …Run Code Online (Sandbox Code Playgroud) 我有这样的事情:
barProgress.BeginAnimation(RangeBase.ValueProperty, new DoubleAnimation(
barProgress.Value, dNextProgressValue,
new Duration(TimeSpan.FromSeconds(dDuration)));
现在,你将如何停止那个动画DoubleAnimation?我想这样做的原因是因为我想开始新的动画(这似乎有用,但很难说)并最终停止上一个动画......
这对我来说不时出现:我有一些C#代码非常想要range()Python中可用的功能.
我知道使用
for (int i = 0; i < 12; i++)
{
// add code here
}
Run Code Online (Sandbox Code Playgroud)
但是这会在功能用法中降低,就像我想要做一个Linq Sum()而不是写上面的循环一样.
有没有内置?我想我可以永远只是推出自己用yield还是这样,但是这将是如此得心应手,只是有.
我HTTPServer在一个单独的线程中运行我(使用无法停止线程的线程模块...)并希望在主线程也关闭时停止提供请求.
Python文档声明它BaseHTTPServer.HTTPServer是一个子类SocketServer.TCPServer,它支持一个shutdown方法,但它缺少HTTPServer.
整个BaseHTTPServer模块的文档很少:(