3
Ich bin ein einfaches Skript zu tun crc aller Dateien zu überprüfen ...Rubin: `lesen ': Invalid argument - (Errno :: EINVAL) bei File.read
require "zlib"
exit if Object.const_defined?(:Ocra)
files = Dir.glob("*")
File.open('dir.txt', 'a+') do |file|
file.puts files
end
File.read('dir.txt').each_line { |line|
file = File.read(line) ; nil
file_crc = Zlib.crc32(file,0).to_s(16)
puts line, file_crc
}
Das Problem bei der ist Linie File.read('dir.txt').each_line { |line|
ich diesen Fehler:
test.rb:13:in `read': Invalid argument - 1.exe (Errno::EINVAL)
from C:/Users/Administrador/Desktop/1.rb:13:in `block in <main>'
from C:/Users/Administrador/Desktop/1.rb:12:in `each_line'
from C:/Users/Administrador/Desktop/1.rb:12:in `<main>'
PD: 1.exe
ist eine Datei, in der "dir.txt" aufgeführt.
oh tahnkyou, alle Zeilen enthalten eine "\ n" Zeichen gelöst: File.read (Zeile [0 ..- 2]) – ElektroStudios
'File.read (line.strip)' ist wahrscheinlich die robustere Variante. Esp. wenn Sie Windows-Zeilenenden von '\ r \ n' haben. Obwohl Sie dann keine Leerzeichen am Anfang und Ende des Dateinamens haben können, wissen Sie nicht, ob Windows das überhaupt erlaubt. –
ich benutze deine variantenempfehlung, danke nochmal – ElektroStudios