gpt4 book ai didi

ruby - 是否可以在 Windows 上使用非英文文件名的 Ruby 临时目录引擎?

转载 作者:数据小太阳 更新时间:2023-10-29 08:05:33 25 4
gpt4 key购买 nike

我正在使用“tmpdir”在 Ruby 中创建一个临时目录,并在临时目录中添加一个非英文文件名的文件:

#!/usr/bin/env ruby -KU
# coding:utf-8

require 'tmpdir'
Dir.mktmpdir { |dir| File.open( "#{dir}/файл.txt", "w" ) {} }

程序清理失败,试图删除“????.txt”。我可以看到正在使用适当的名称创建文件。

我在 Windows 上运行 Ruby 1.9。有什么方法可以解决这个问题,或者说 Ruby 1.9 不适合在 Windows 上使用非英语字符?

最佳答案

好吧,我很确定这是一个错误。 tmpdir 方法在自身无法识别 utf-8 文件名后使用清理(可能是 ruby​​/windows 问题或特定于 ruby​​ 的问题)

以下是解决方法:

#!/usr/bin/env ruby -KU
# coding:utf-8

require 'tmpdir'
Dir.mktmpdir do |dir|
File.open( "#{dir}/файл.txt", "w" ) {}
FileUtils.remove_entry_secure "#{dir}/файл.txt"
end

这会在删除文件夹之前删除“奇数”文件。有点 hack,但它应该可以工作(测试过)。

关于ruby - 是否可以在 Windows 上使用非英文文件名的 Ruby 临时目录引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9262900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com