manipulacion guardar archivos archivo ruby

archivos - guardar archivo en ruby



¿Cómo crear directorios recursivamente en ruby? (5)

Quiero almacenar un archivo como /a/b/c/d.txt, pero no sé si alguno de estos directorios existe y necesito crearlos recursivamente si es necesario. ¿Cómo se puede hacer esto en ruby?


Si está ejecutando en máquinas unixy, no olvide que siempre puede ejecutar un comando de shell en ruby ​​colocándolo en marcadores.

`mkdir -p /a/b/c`


También puedes usar tu propia lógica

def self.create_dir_if_not_exists(path) recursive = path.split(''/'') directory = '''' recursive.each do |sub_directory| directory += sub_directory + ''/'' Dir.mkdir(directory) unless (File.directory? directory) end end

Entonces, si la ruta es ''tmp / a / b / c'' si ''tmp'' no existe, ''tmp'' se crea, luego ''tmp / a /'' y así sucesivamente.


Usuario mkdir_p para crear directorio recursivamente

path = "/tmp/a/b/c" FileUtils.mkdir_p(path) unless File.exists?(path)


Use mkdir_p :

FileUtils.mkdir_p ''/a/b/c''

El _p es un holdover de Unix para parent / path, también puede usar el alias mkpath si tiene más sentido para usted.

FileUtils.mkpath ''/a/b/c''

En Ruby 1.9 FileUtils se eliminó del núcleo, por lo que deberá require ''fileutils'' .