我需要创建如下所示的XML:
<record id="100000000000000000" type="Message">
...a bunch of xml ...
</record>
Run Code Online (Sandbox Code Playgroud)
相反,使用我正在使用的FSsharp代码,我得到了这个:
<record>
<type>Message</type>
<id>118448</id>
...a bunch of xml....
</record>
Run Code Online (Sandbox Code Playgroud)
这是我目前正在做的事情:
type record( id:int, sr:sender, recipients: recipient array, atts : attachment array, con : conversation, madeDate : creation) =
let mutable id: int = id
let mutable typ = "Message"
let mutable creation = madeDate
let mutable sender = sr
let mutable recipients = recipients
let mutable conversation = con
let mutable attachments = atts
public new() =
record( -1, sender(-1,"Joe","Plumber","Joe@plumber.com"), …Run Code Online (Sandbox Code Playgroud) 以下是导致错误的相关代码.
ftp = ftplib.FTP('server')
ftp.login(r'user', r'pass')
#change directories to the "incoming" folder
ftp.cwd('incoming')
fileObj = open(fromDirectory + os.sep + f, 'rb')
#push the file
try:
msg = ftp.storbinary('STOR %s' % f, fileObj)
except Exception as inst:
msg = inst
finally:
fileObj.close()
if '226' not in msg:
#handle error case
Run Code Online (Sandbox Code Playgroud)
我之前从未见过这个错误,任何关于我为什么会得到它的信息都会有用和赞赏.
完整错误消息:[Errno 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应
应该注意的是,当我手动(即打开dos提示并使用ftp命令推送文件)从脚本所在的同一台机器推送文件时,我没有问题.
更新:我应该尽早指定,但不是所有的名称都只是浮点数.例如,其中一些"前缀"为"YT".所以例如"YT1.1.所以,你有同样的问题YT1.9 <YT1.11应该是真的.我真的很惊讶字符串比较失败了....
你好,这应该是一个非常简单的问题,但我似乎无法找到答案.我想按名称排序一堆XL工作表.每个名称都是数字,但是教科书"部分"的编号方式相同,这意味着4.11之后的部分4.11出现在4.9和4.1之后.我想只是将这些数字作为字符串进行比较,但我得到以下内容:
>>> s1 = '4.11'
>>> s2 = '4.2'
>>> s1> s2
False
>>> n1 = 4.11
>>> n2 = 4.2
>>> n1 > n2
False
Run Code Online (Sandbox Code Playgroud)
如何比较这两个值,使4.11大于4.2?
(编辑:我还不会担心TCO)
我(终于到处)学习Lisp.我正在尝试编写自己的(naive-ish)函数来压缩列表.我从较简单的情况开始,如果它不起作用,它将构建它以处理更复杂的情况.不幸的是,现在,我得到了一个无限循环,无法弄清楚原因.
我也不知道如何在lisp中使用任何调试方法,所以如果你能指出我的方向,我也会很感激.
(defun flattenizer (lst)
(if (listp (car lst))
(flattenizer (car lst))
(if (null lst)
nil
(cons (car lst) (flattenizer (cdr lst))))))
Run Code Online (Sandbox Code Playgroud)
最终代码:
(defun flattenizer (lst)
(cond
((null lst) nil)
( (consp (car lst))
(nconc (flattenizer (car lst)) (flattenizer (cdr lst)) ))
(T (cons (car lst) (flattenizer (cdr lst))))))
Run Code Online (Sandbox Code Playgroud)
测试:
* (flattenizer '((1 2) (3 4)))
(1 2 3 4)
* (flattenizer '(1 (2 3) (4 5)))
(1 2 3 4 5)
* (flattenizer '((1 2) 3 (4 5) …Run Code Online (Sandbox Code Playgroud) 我搜索了网站,但我没有看到任何与我想要的相匹配的东西.我创建了一个使用我创建的Web服务的独立应用程序.要运行客户端我使用:
C:/scriptsdirecotry> "run-client.bat" param1 param2 param3 param4
Run Code Online (Sandbox Code Playgroud)
我将如何用Python或F#编写代码.看起来应该很简单,但我没有在网上看到任何与我正在寻找的相匹配的东西.
总F#n00b问题.如何对LIST数据结构进行排序?
编辑:对不起,我的数据结构实际上是一个列表.
也许我应该添加我的代码因为只是使用".sort"没有工作:
let getDataFromDb (db: MyDB) Id =
Query.query <@ seq {
big honking database/FLinq query
yield (sec, pm, sr, trade, tradeRec, i, pm_firm, files, lt)
} @> |> List.ofSeq
Run Code Online (Sandbox Code Playgroud)
当我将最后一行代码更改为:
} @> |> List.ofSeq.sortBy fst
我得到以下内容:
错误1未定义字段,构造函数或成员"sortBy"
呃,多么痛苦.我现在正在尝试这个:
|> List.ofSeq |> List.sortBy
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个:
错误1类型不匹配.期待a(Security*RoleContributor*RoleContributor*SuggestedTrade*SuggestedTradeRecommendation*Idea*RoleContributor*SupportingUploadedFile*LargeText)list - >'a a given a('b - >'c) - >'b list - >'b list The type' (安全*RoleContributor*RoleContributor*SuggestedTrade*SuggestedTradeRecommendation*Idea*RoleContributor*SupportingUploadedFile*LargeText)列表'与类型'' - >'b'不匹配
我修改了一个程序,它现在需要更多的参数.如何找到调用该过程的每个位置,以便更新proc传递的参数个数?
我试过这个:
select * from syscomments where text like '%MODIFIED-PROCEDURE-NAME%'
Run Code Online (Sandbox Code Playgroud)
但我仍然发现其他地方的proc被称为此查询没有返回.
我可能是错的,但在IronPython中引发SystemError时,我似乎只得到不完整的堆栈跟踪和异常消息.我这样做:
try:
with SQLConnection(DATASOURCES[SCHEDULEDB]) as db:
db.execute_sql( command + ' ' + ','.join(block) + ';' )
except Exception, e:
print 'caught an exception'
print "Unexpected error:", sys.exc_info()[0]
print e
raise
finally:
db.close()
engine.close()
Run Code Online (Sandbox Code Playgroud)
但是,我所看到的只是:
Traceback (most recent call last):
SystemError: The connection has been disabled.
Run Code Online (Sandbox Code Playgroud) 我想为python项目创建一个记录器.我想确保我为项目中的每个模块使用相同的记录器.做这个的最好方式是什么?看来我需要一个全局日志记录对象?或者可能是每个其他模块导入的日志记录模块?我想确保我总是写入同一个日志文件.
我已经在使用python的logger和handler.问题是我必须定义记录器将在每个模块中写入哪个文件.我想定义一次日志文件路径,并将其用于每个模块.
在F#工作让我了解Haskell.我目前正在本教程的第7章,我强烈建议.但是问题很快.也许我已经领先于自己,我会在未来的章节中找到答案,但是,如果函数只接受F#中的一个参数,是否有一种方法可以反转函数的位置和它的参数.因此,例如,在F#中如果你有一个名为digitToInt的函数(就像在Haskell中那样),你可以执行以下操作:
3 |> digitToInt
我知道使用后退滴答,但这是专门用于二进制函数.一元函数有什么相似之处吗?
python ×5
f# ×4
batch-file ×1
ftplib ×1
haskell ×1
ironpython ×1
lisp ×1
logging ×1
numbers ×1
recursion ×1
sql-server ×1
string ×1
web-services ×1
windows ×1
xml ×1