Racket中的递归FTP下载
我正在尝试使用racket中的net/url包从下面列出的ftp链接递归下载../whistourceMapping/目录的所有子目录中某个参数*.txt.gz的所有文件 代码的粗体部分是我被卡住的地方——看起来(ftp下载文件…)函数接受conn、导出目录和“文件名”,但我想下载目录中的所有文件 我是否必须将ftp下载文件映射到从(ftp目录列表…)功能收集的文件名列表上Racket中的递归FTP下载,ftp,racket,Ftp,Racket,我正在尝试使用racket中的net/url包从下面列出的ftp链接递归下载../whistourceMapping/目录的所有子目录中某个参数*.txt.gz的所有文件 代码的粗体部分是我被卡住的地方——看起来(ftp下载文件…)函数接受conn、导出目录和“文件名”,但我想下载目录中的所有文件 我是否必须将ftp下载文件映射到从(ftp目录列表…)功能收集的文件名列表上 (define get-unichem-mappings (lambda (export-dir) (let*
(define get-unichem-mappings
(lambda (export-dir)
(let* ([server "ftp.ebi.ac.uk"]
[remote-dir "/pub/databases/chembl/UniChem/data/wholeSourceMapping/"]
[conn (ftp-establish-connection
server
21
"anonymous"
"")])
(ftp-cd conn remote-dir)
;(printf "~a" (ftp-directory-list conn "."))
(map
(lambda (elem) (displayln (string-join elem "\t")))
(ftp-directory-list conn "."))
(ftp-download-file conn "." <**not sure how to descend file tree with ftp**>)
(ftp-close-connection conn))))
(定义获取unichem映射
(lambda(出口主任)
(let*([服务器“ftp.ebi.ac.uk”]
[remote dir”/pub/databases/chembl/UniChem/data/whistourcemapping/“]
[conn(ftp)建立连接
服务器
21
“匿名”
"")])
(ftp cd连接远程目录)
;(printf“~a”(ftp目录列表连接)
(地图
(lambda(元素)(displayln(字符串连接元素“\t”))
(ftp目录列表连接“))
(ftp下载文件conn.)
(ftp关闭连接连接)