如果已经存在具有该名称的文件,如何在R中创建新的输出文件?

乌斯曼·汗(Usman Khan)

我正在尝试使用每两个小时运行一次的Windows任务计划程序运行R脚本文件。我想做的是通过Twitter API收集一些推文,并运行情感分析,该分析产生两个图并将其保存在目录中。问题是,当再次运行脚本时,它将用目录中的该名称替换已经存在的文件。

例如,当我使用pdf(“ file”)函数时,它第一次运行良好,因为目录中不存在具有该名称的文件。问题是我希望R脚本每隔一小时运行一次。因此,我需要一些在目录中创建新文件而不是替换该文件的解决方案。就像从Chrome浏览器多次下载文件时会发生什么。

太空人

我只是给文件名加上时间戳。

> filename = paste("output-",now(),sep="")
> filename
[1] "output-2014-08-21 16:02:45"

使用任何标准的日期格式化功能来自定义口味-也许您不希望文件名中包含空格和冒号:

> filename = paste("output-",format(Sys.time(), "%a-%b-%d-%H-%M-%S-%Y"),sep="")
> filename
[1] "output-Thu-Aug-21-16-03-30-2014"

如果要在文件名中添加数字,则应如下所示:

serialNext = function(prefix){
    if(!file.exists(prefix)){return(prefix)}
    i=1
    repeat {
       f = paste(prefix,i,sep=".")
       if(!file.exists(f)){return(f)}
       i=i+1
     }
  }

用法。首先,“ foo”不存在,因此它返回“ foo”:

> serialNext("foo")
[1] "foo"

编写一个名为“ foo”的文件:

> cat("fnord",file="foo")

现在返回“ foo.1”:

> serialNext("foo")
[1] "foo.1"

创建它,然后返回“ foo.2”,依此类推...

> cat("fnord",file="foo.1")
> serialNext("foo")
[1] "foo.2"

如果可能有多个进程正在编写一个新文件,则这种情况可能会中断-如果两个进程同时检查,则存在一个机会窗口,两个进程都看不到“ foo.2”,并认为它们都可以创建它。如果您有两个进程试图同时写入新文件,则时间戳会发生相同的情况。

通过生成随机UUID并将其粘贴在文件名上,可以解决这两个问题,否则,您需要在操作系统级别上具有原子性的东西。

但是对于每小时两次的工作,我认为将时间戳记缩短到几分钟可能就足够了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Python的输出文件中删除重复的条目?

来自分类Dev

当具有文件夹名称的文件已经存在时,如何创建一个空文件夹?

来自分类Dev

Powershell:如何在一行中输出文件夹名称,lastwritetime和文件夹大小?

来自分类Dev

如果已经存在具有该名称的文件,如何在R中创建新的输出文件?

来自分类Dev

如何在Python中向输出文件添加新列?

来自分类Dev

如何在Java中创建输出文件?

来自分类Dev

如何在Unix中应用具有相同输入和输出文件的sort和uniq?

来自分类Dev

Java-重命名输出文件(如果名称已经存在且具有增量),请考虑到现有的增量

来自分类Dev

如何在输出文件中创建行?

来自分类Dev

如何在JModelica中读取.mat输出文件?

来自分类Dev

输出文件名与R中具有附加名称的输入相同

来自分类Dev

如果名称存在,如何创建带有“ 01”的文件?

来自分类Dev

如何使用熊猫在Excel输出文件中合并具有相同内容的多个列

来自分类Dev

如果使用批处理文件已经存在一个具有相同名称的文件夹,则创建编号文件夹

来自分类Dev

当具有文件夹名称的文件已经存在时,如何创建一个空文件夹?

来自分类Dev

如何在python中解析文件并写入输出文件

来自分类Dev

在Java中读取文件名的开头并创建具有该名称的文件夹

来自分类Dev

如何在Python中向输出文件添加新列?

来自分类Dev

如何比较2个具有公共列的文件,然后从每个文件中获取具有列的输出文件

来自分类Dev

如何在Perl中组织输出文件?

来自分类Dev

如何在C ++中的函数中输出文件?

来自分类Dev

读取具有不同语言的html节点并将其保存到R中的输出文件

来自分类Dev

如何在输出文件中创建行?

来自分类Dev

如何检查批处理文件中是否存在具有日期名称的文件并创建文件

来自分类Dev

如何在eclipse中创建输出文件夹

来自分类Dev

提示用户输入文件名和路径,测试文件是否存在,如果不存在则创建一个具有该名称的空白文件

来自分类Dev

计算pandas中列组合的总和,按行计算,输出文件具有所述组合的名称

来自分类Dev

循环以根据名称与行内容相同的条件创建具有特定文件名和内容的输出文件

来自分类Dev

如何在python中更新输出文件

Related 相关文章

  1. 1

    如何在Python的输出文件中删除重复的条目?

  2. 2

    当具有文件夹名称的文件已经存在时,如何创建一个空文件夹?

  3. 3

    Powershell:如何在一行中输出文件夹名称,lastwritetime和文件夹大小?

  4. 4

    如果已经存在具有该名称的文件,如何在R中创建新的输出文件?

  5. 5

    如何在Python中向输出文件添加新列?

  6. 6

    如何在Java中创建输出文件?

  7. 7

    如何在Unix中应用具有相同输入和输出文件的sort和uniq?

  8. 8

    Java-重命名输出文件(如果名称已经存在且具有增量),请考虑到现有的增量

  9. 9

    如何在输出文件中创建行?

  10. 10

    如何在JModelica中读取.mat输出文件?

  11. 11

    输出文件名与R中具有附加名称的输入相同

  12. 12

    如果名称存在,如何创建带有“ 01”的文件?

  13. 13

    如何使用熊猫在Excel输出文件中合并具有相同内容的多个列

  14. 14

    如果使用批处理文件已经存在一个具有相同名称的文件夹,则创建编号文件夹

  15. 15

    当具有文件夹名称的文件已经存在时,如何创建一个空文件夹?

  16. 16

    如何在python中解析文件并写入输出文件

  17. 17

    在Java中读取文件名的开头并创建具有该名称的文件夹

  18. 18

    如何在Python中向输出文件添加新列?

  19. 19

    如何比较2个具有公共列的文件,然后从每个文件中获取具有列的输出文件

  20. 20

    如何在Perl中组织输出文件?

  21. 21

    如何在C ++中的函数中输出文件?

  22. 22

    读取具有不同语言的html节点并将其保存到R中的输出文件

  23. 23

    如何在输出文件中创建行?

  24. 24

    如何检查批处理文件中是否存在具有日期名称的文件并创建文件

  25. 25

    如何在eclipse中创建输出文件夹

  26. 26

    提示用户输入文件名和路径,测试文件是否存在,如果不存在则创建一个具有该名称的空白文件

  27. 27

    计算pandas中列组合的总和,按行计算,输出文件具有所述组合的名称

  28. 28

    循环以根据名称与行内容相同的条件创建具有特定文件名和内容的输出文件

  29. 29

    如何在python中更新输出文件

热门标签

归档