小编Sea*_*ton的帖子

循环中重复值,直到错误消失

我目前正在使用for循环使用Googleway软件包对大量地址进行地理编码.最初,我遇到了"500内部服务器错误"的问题,停止了循环的执行.我能够使用tryCatch()解决这个问题.但是,由于这往往是一个瞬态错误,我希望该函数重复抛出错误的地址,直到它收到结果或达到一些任意数量的尝试,比方说10.

不幸的是,我发现tryCatch()和与之相关的文档令人困惑,所以除了让它抛出错误信息并继续前进之外,我不知道该怎么做.这是我目前的代码:

rugeocoder.fun <- function(addr){
              require(googleway)
              output <- vector("list", length=length(addr))
              tryCatch({
                for(i in 1:length(addr)){
                  output[[i]] <- google_geocode(address=addr[i], key="myapikey", language="ru", simplify=T)
                  print(i)

                }},error=function(e) output[[i]] <- "Error: reattempt")
              return(output)
              }
Run Code Online (Sandbox Code Playgroud)

error-handling loops r try-catch

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

使用 sed 从 URL 中删除最后一个反斜杠

我在 .txt 文件中有一个以文件名结尾的 URL 列表 - 我需要提取该文件名。但是,反斜杠的数量和每个反斜杠之前的字符串因 URL 而异,例如:

https://www.something.com/something/somethingelse/file.zip
https://www.something.com/something/somethingelse/somethingnew/file2.txt
Run Code Online (Sandbox Code Playgroud)

在我的 URL 中,somethingelsesomethingnew都是常量(由于数据隐私协议无法共享实际 URL),但将来可能会更改。以下代码适用于第一个网址,但不适用于第二个网址:

sed 's/^.*\/somethingelse\///g' in_file.txt > out_file.txt
Run Code Online (Sandbox Code Playgroud)

有没有一种sed模式可以用来匹配最后一个反斜杠之后的所有内容 - 因此不需要字符串常量?

bash sed

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

标签 统计

bash ×1

error-handling ×1

loops ×1

r ×1

sed ×1

try-catch ×1