如何检查一个string是否是使用R的窗口的有效文件名?

如何检查一个string是否是使用R的窗口的有效文件名?,第1张

概述如何检查一个string是否是使用R的窗口的有效文件名

我一直在编写一个R程序,输出随机化scheme,用于今年夏天和其他一些人一起进行的研究项目,除了一个特性之外,我已经完成了大部分的研究项目。 我一直在做的一部分是使用户友好,这样程序会提示用户input某些信息,因此知道需要随机化的东西。 我已设置检查每一个用户input,以确保它是一个有效的input,并给出错误消息/提示用户,如果不是。 我唯一不能弄清楚的是如何让它来检查.csv输出的文件名是否有效。 有谁知道是否有办法让R来检查一个string是否有效的windows文件名? 谢谢!

Python:获取存储在windows中的文件名大小写?

我怎样才能得到没有在windows中使用Perl文件名的path?

如何在Unix中交换文件名?

如何处理windows的ReadDirectoryChangesW()及其混合的长/短文件名输出?

检查下划线是否包含除下划线和csv扩展名之外的任何有效的windows文件名字符

这些字符是不允许的: /:*?"<>| 。因此,警告用户,如果它包含任何这些。

还有一些其他名称也是不允许的: COM , AUX , Nul , COM1到COM9 , LPT1到LPT9 。

您可能想要使用正则表达式来检查文件名是否有效。 看到这个Java应用程序的其他答案,应该尽可能少的调整在R中工作。https://stackoverflow.com/a/6804755/134830

您可能还想检查文件名的长度(最大可移植性为260个字符,尽管某些系统允许使用更长的名称)。

最后,在R中,如果你尝试在一个不存在的目录中创建一个文件,它仍然会失败,所以你需要把名字分割成文件名和目录名(使用basename和dirname ),然后尝试创建如果需要的话,先查看目录。

也就是说,DavID Heffernan在他的评论中给出了很好的建议,让windows决定是否可以创建文件:你不想错误地告诉用户文件名是无效的。

你想要一些这样的东西:

nice_file_create <- function(filename) { directory_name <- dirname(filename) if(!file.exists(directory_name)) { ok <- dir.create(directory_name) if(!ok) { warning("The directory of that path Could not be created.") return(invisible()) } } tryCatch( file.create(filename),error = function(e) { warning("The file Could not be created.") } ) }

但是先试一下吧! 有各种各样的边缘情况下可能会崩溃:尝试UNC网络路径名称,“〜”和路径与“。” 和“..”在其中。

总结

以上是内存溢出为你收集整理的如何检查一个string是否是使用R的窗口的有效文件名?全部内容,希望文章能够帮你解决如何检查一个string是否是使用R的窗口的有效文件名?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1158141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存