小编trh*_*178的帖子

如果文件不存在,Python中的open()不会创建文件

打开文件作为读/写(如果存在)或不存在的最佳方法是什么,然后创建它并将其作为读/写打开?从我读到的,file = open('myfile.dat', 'rw')应该这样做,对吧?

它不适合我(Python 2.6.2),我想知道它是否是一个版本问题,或者不应该像那样或什么工作.

最重要的是,我只需要解决问题的方法.我很好奇其他的东西,但我需要的只是一个很好的方式来做开场部分.

更新:封闭目录可由用户和组写入,而不是其他(我在Linux系统上...所以权限775换句话说),确切的错误是:

IOError:没有这样的文件或目录.

python linux file-io file-permissions

607
推荐指数
13
解决办法
76万
查看次数

其他Ruby Map速记表示法

我知道地图的简写如下:

[1, 2, 3, 4].map(&:to_s)
> ["1", "2", "3", "4"]
Run Code Online (Sandbox Code Playgroud)

我被告知这是简写:

[1, 2, 3, 4].map{|i| i.to_s}
Run Code Online (Sandbox Code Playgroud)

这很有道理.我的问题是:似乎应该有一种更简单的方式来编写:

[1, 2, 3, 4].map{|x| f.call(x)} 
Run Code Online (Sandbox Code Playgroud)

对于某些程序f.我知道我输入的方式并不是那么长,但是我认为前面的例子都不是速记存在的.这个例子似乎是第一个例子的补充:我不想为每个i调用i的to_s方法,我希望为每个x调用f.

这样的速记是否存在?

ruby map shorthand

23
推荐指数
1
解决办法
2万
查看次数

我如何解决Go没有参数多态?

我是Go新手,但我读过Go常规不会错过参数多态.每当我尝试学习一门新语言时,我都会使用L99问题列表来进行练习.

即使我尝试写一些像第一个问题一样简单(在Go中将是单个语句,取一个切片的最后一个元素),我将如何将其写为一个接受任何类型切片的函数(使用我上面引用的那个单一语句)返回该切片的最后一个元素?

我认为即使语言没有参数多态,也必须有一些惯用的"Go"方式,以便Go常规声称他们不会错过参数多态.否则,如果示例比例如列表的最后一个元素更复杂,则需要一个函数来为每个类型执行任务.

我错过了什么?

go parametric-polymorphism

18
推荐指数
2
解决办法
2867
查看次数

Android SIP API:支持显示,但错误"不支持"

我有一个我正在尝试构建的快速示例应用程序,用于演示与Nexus 7之间的简单SIP呼叫.该设备当前运行的是Android 4.2.1.

LogCat显示错误:

SipBroadcastRequest / SIP VOIP not supported: com.android.phone.SIP_REMOVE_PHONE

我从API文档(和代码)中看到,如果SipManager.isApiSupported(Context context)返回false,则会发生这种情况.为了更好的衡量,我检查了两个:

SipManager.isVoipSupported(this);
SipManager.isApiSupported(this);

并且都返回true.我也看到(从API代码)如果api调用返回false,SipManager.newInstance(Context context)将返回null.当我创建一个经理时,SipManager.newInstance(this);我会找到一位有效的经理.

我看到很多关于类似问题的帖子,但没有发现任何报告trueSipManager.isVoipSupported(Context context)电话.有任何想法吗?

注意:我不确定这是否重要,但是cSipSimple(另一个用于android的SIP/Voip应用程序)可以在这个设备上运行.

更新(12/20/12):我按照pboy的建议尝试了SipDemo.这也行不通.在注册步骤中,该应用和我的应用都失败了.使用调试器,我打破了onRegistrationFailed回调SipRegistrationListener.从这里我可以看到int errorCode-9和一个String errorMessage"0".我查找了这个错误代码,它对应于以下内容(取自SIP API文档):

public static final int IN_PROGRESS  
Run Code Online (Sandbox Code Playgroud)

在API级别9中添加
客户端处于事务中,无法启动新事务.
常数值:-9(0xfffffff7)

我没有运行其他SIP程序.我的应用程序只是刚刚安装,目前还没有运行.我不确定它中间会有什么其他交易?

api android sip

13
推荐指数
1
解决办法
1615
查看次数

C条件总是会返回1还是0?

C条件语句总是返回[1或0],还是返回[0或'除零以外的值'].我问因为:

伪代码 -

foo(address,shouldSend):
寄存器>> = 1
寄存器<< = 1 //清除第一个位置
寄存器中的位| = shouldSend //表示是否应该发送

如果有人在一个大于1的shouldSend值中传递了一个问题,那么就会出现问题(因为只有0是假的而其他所有都是真的,技术上这是有效的).因为我直接用寄存器OR发送shouldSend的真值,所以最好不要说0xFF!我已经有了一个解决方案,所以问题更多的是出于好奇的缘故.我想知道如果:

foo(address,shouldSend):
寄存器>> = 1
寄存器<< = 1 //清除第一个位置
寄存器中的位| = (shouldSend> 0) //表示是否应该发送

解决了这个问题?我认为现在传入的0xFF(或一般来说,大于1)的问题被C条件掩盖.但这只能保证IF C条件保证返回[0或1].

ps - 我也意识到它可能依赖于编译器,但是ansi标准对此有何看法?

c standards conditional

9
推荐指数
1
解决办法
1601
查看次数

Avahi主机名解析:它是否在某处缓存?

我使用Fedora 18和avahi命令行工具(版本0.6.31)

我使用avahi-resolve-host-name来发现我子网上单元的IP地址,以便在开发过程中进行测试.我使用Wireshark监控请求和响应.在一次成功的请求和响应之后,Wireshark上没有进一步的请求,但该工具仍然返回一个IP地址.计算机/ avahi守护进程/其他东西是否有可能"缓存"结果?

问题:我希望通过每次调用avahi-resolve-host-name发送请求数据包.这可能吗?

原因:可以说我得到'误报'.我尝试解决'test1.local',我得到了一个结果IP,但该单元不再位于此IP.我希望每次都发送请求,这样我就可以避免看到IP地址不正确的单位.

linux networking mdns zeroconf avahi

9
推荐指数
2
解决办法
5056
查看次数

多次调用函数并获取结果列表

我想调用该函数f5次(例如)并获得结果列表.现在我有这个:

(1..5).to_a.map!{f}
Run Code Online (Sandbox Code Playgroud)

注:现在f是不带任何输入,并返回一个函数truefalse.所以当这个运行完成后,我得到一个5 true/ false值的列表.

有没有更好的方法来使用其他内置函数(可能reduce?我有这个想法,但无法弄清楚如何使用它...)

ruby reduce dictionary function

8
推荐指数
2
解决办法
6137
查看次数

这是"有效数学表达式"问题P还是NP?

这个问题纯粹是出于好奇.我今年夏天不在学校,并且正在实施一种算法来解决这个问题,这只是为了好玩.这导致了上述问题,这个问题有多难?

问题是:给出一个正整数列表,一组数学运算符和等号(=).你能用整数(按照相同的顺序)和运算符(任意次数)创建一个有效的数学表达式吗?

一个例子应该澄清任何问题:

给定:{2,3,5,25},{+, - ,*,/},{=}
输出:是

表达式(我认为只有一个)是(2 + 3)*5 = 25.你只需要输出YES/NO.

我相信问题出在NP.我这样说是因为这是一个决策问题(是/否答案),我可以找到一个决定它的非确定性多时间算法.

一个.非确定性地选择要在整数之间放置的运算符序列.
湾 验证你的回答是一个有效的数学表达式(这可以在恒定的时间内完成).

在这种情况下,最大的问题是:P中的问题是什么?(即是否有一个确定性的多时间算法决定它?)或问题NP是否完整?(即,一个已知的NP完全问题可以减少到这个吗?或者相当于每个NP语言的多边形时间是否可以减少到这个问题?)或者两者都没有?(即NP中的问题但不是NP完成)

注意:此问题陈述假设P不等于NP.此外,虽然我是Stack Overflow的新手,但我对家庭作业标签很熟悉.这确实只是好奇心,而不是作业:)

algorithm math np-complete

7
推荐指数
1
解决办法
1418
查看次数

在Clojure中首先应用函数列表

如果我有一个功能列表:

(def lst '(+ -))

我希望将该列表中的第一个(+)应用于数字列表,我会认为它

(apply (first lst) '(1 2 3 4))

但显然你错了?语法错误我假设.我该怎么做呢?

PS:

=>(first lst)  
+

=>(apply (first lst) '(1 2 3 4))   
4
Run Code Online (Sandbox Code Playgroud)

两者都没有错误地返回,它们只返回我在第一种情况下所期望的东西,以及我在第二种情况下不会期望的东西.

syntax clojure

7
推荐指数
1
解决办法
797
查看次数

修改Lisp函数而不重写它?

我之前编写了一个有错误的Lisp函数.第一个挑战是弄清楚如何再次查看该功能.这个挑战已经解决了.现在我看到我做错了什么,我想修改已定义函数的内容而不重写整个事情?

看起来像Lisp一样聪明,有一种方法可以做到这一点,我只是不知道它是什么,因为我对这门语言很新.可以这样做吗?

lisp common-lisp

6
推荐指数
1
解决办法
448
查看次数

clojure unqoute 问题

我有一个简单的 clojure 语法问题(bc 我是该语言的新手)。对于这两个示例,我都有一个 (1 2 3 4) 的列表 lst:

在 Lisp 我可以写:

=>`(list of first is ,(first lst))
(list of first is 1)

在 Clojure 中,如果我写同样的东西(语言翻译为 , 到 ~ 因为我认为我在某处阅读)我得到:

=>'(list of first is ~(first lst))
(list of first is (clojure.core/unquote (first lst)))

我希望我也可以在 Clojure 中做我想做的事,而且我只是语法错误。我发现的所有示例都首先具有函数并使用`(反引号)。我不想调用这样的函数:

`(我的功能〜(第一个lst))

我只想返回 '(一些列表,其中替换了 ,(first lst))

我可以在 Clojure 中做这样的事情吗?

编辑:我举了一个糟糕的例子,因为我的实际问题是处理字符串。让我再试试另一个例子...

=>(def color-lst '(红绿蓝))

我想返回的是:

=>`(我想要的颜色是~(第一种颜色-lst))

这产生了我看到的所有奇怪的回报。另一种方法是

=>(格式“我想要的颜色是 %s”(第一种颜色-lst))

这就是我解决我的问题的方法。

syntax clojure

4
推荐指数
1
解决办法
278
查看次数

Visual C#:如何找出*我缺少哪个*汇编或引用

我正在使用Visual Studio 2012.我知道当我使用新类型时,我需要他们的using指令.我知道不同的using指令需要不同的程序集或引用.

我是MS VS的新手.有没有一种简单的方法可以找出为特定的using指令添加哪个程序集或引用?

例:

我只是使用了这种类型FileContentResult.这是在System.Web.Mvc.我添加了哪个装配或参考?

我再次要求一般情况,特别是这个案例.理想情况下,我想在每次发生这种情况时都能使用一个技巧,以便快速找到我需要添加的引用.

.net c# visual-studio-2012

3
推荐指数
1
解决办法
886
查看次数

我将什么传递给.emacs文件中的switch-to-buffer参数?

我在以下行的.emacs文件中收到错误:

(switch-to-buffer *Completions*)
Run Code Online (Sandbox Code Playgroud)

错误:符号值作为变量是无效的

我做了describe-functionswitch-to-buffer,发现我可以通过它的缓冲区(和我目前并不需要另一个可选参数).我究竟做错了什么?

只是几个笔记:
a.我还需要两条相似的线路(switch-to-buffer *grep*),(switch-to-buffer *compilation*)所以使用简单的解决方案(switch-to-completions)并不能解决我的所有问题.
湾 我需要的所有缓冲区都已打开,所以我不认为这是问题所在.

emacs elisp dot-emacs

1
推荐指数
1
解决办法
750
查看次数