Ruby常用文件操作

初学Ruby,很多需要学习,现在开始尝试使用Ruby来写一个脚本,其中用到了很多文件相关的操作,这里阶段地整理一些。便于后续的再次查找。

文件或目录是否存在

1

File.exist?('file_path')

是否为文件

1

File.file?("file_path")

是否为目录

1

File.directory?("file_path")

从路径中获取文件名

1 2 3 4 5 6 7

File.basename('/tmp/adb.log') #=> "adb.log" #从上面结果中移除扩展名 File.basename('/tmp/adb.log', '.log') #=> "adb" #或者 File.basename('/tmp/adb.log', '.*') #=> "adb"

列出目录下的全部子文件

1 2

#替换puts child为自己的操作 Dir['/tmp/*'].each{|child|puts child}

获得父目录

1 2 3 4 5 6

#特定目录的父路径 File.expand_path("..",specific_path) #当前目录的父路径 File.expand_path("..",Dir.pwd) #或者 File.expand_path("..")

其他

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Kurt Niu 的博客

[开源] C# 封装 银海医保的接口

Github 地址: https://github.com/zifeiniu/YinHaiYiBaoCSharpAPI

2984
来自专栏逸鹏说道

在 ASP.NET MVC 中使用异步控制器

可以通过 AsyncController 类编写异步操作方法。 可以对长时间运行的、非 CPU 绑定的请求使用异步操作方法。 这样可避免在处理请求时阻塞 Web...

36411
来自专栏腾讯移动品质中心TMQ的专栏

像 google 一样测试系列之四:技术篇

Android 白盒测试覆盖率低的最主要原因,是大部分人都没有测到 Android 层,只测试了Java层部分,导致覆盖率低。亲,你是不是认为Android层的...

3241
来自专栏c#开发者

Msmq设计文档(赋源代码)

Msmq设计文档 文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 文件标识: ECI-MSMQ v01 当前版本: 0.5...

3488
来自专栏张善友的专栏

.NET 异常处理的动作策略(Action Policy)

SQL Server 2008基于策略的管理,基于策略的管理(Policy Based Management),使DBA们可以制定管理策略,并将这些策略应用到服...

2007
来自专栏大内老A

ASP.NET Core中如影随形的”依赖注入”[下]: 历数依赖注入的N种玩法

在对ASP.NET Core管道中关于依赖注入的两个核心对象(ServiceCollection和ServiceProvider)有了足够的认识之后,我们将关注...

66310
来自专栏大内老A

ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

在《ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式》中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应...

2978
来自专栏大内老A

ASP.NET Web API自身对CORS的支持: CORS授权检验的实施

通过《EnableCorsAttribute特性背后的故事》我们知道:由CorsPolicyProvider提供的CorsPolicy表示目标Action采用的...

19910
来自专栏炉边夜话

JNI使用技巧点滴(二)

作者:normalnotebook 背景<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com...

1732
来自专栏大内老A

[WCF权限控制]模拟(Impersonation)与委托(Delegation)[上篇]

由于服务操作是在寄宿进程中执行,在默认的情况下,服务操作是否具有足够的权限访问某个资源(比如文件)决定于执行寄宿进程Windows帐号的权限设置,而与作为客户端...

2596

扫码关注云+社区

领取腾讯云代金券