파일 경로를 분할하고 파일 이름을 가져 오는 데 문제가 있습니다. 여기 DIR에 파일 경로 놓기
내 코드입니다 :file=File.new("files.txt", "w")
file_list=Dir["../path/*txt"]
file.puts file_list
내가 그것을 분할하는 몇 가지 방법을 시도,하지만 난 배열에 오류가 계속,
최고 감사합니다,
AZCards
파일 경로를 분할하고 파일 이름을 가져 오는 데 문제가 있습니다. 여기 DIR에 파일 경로 놓기
내 코드입니다 :file=File.new("files.txt", "w")
file_list=Dir["../path/*txt"]
file.puts file_list
내가 그것을 분할하는 몇 가지 방법을 시도,하지만 난 배열에 오류가 계속,
최고 감사합니다,
AZCards
다음 스 니펫을 시도하십시오.
file = File.new("files.txt", "w")
Dir['../path/*.txt'].each { |f| file.puts File.basename(f, '.txt') }
'txt'확장자가없는 지정된 폴더의 파일 이름 목록을 제공합니다.
완벽하게 작동합니다! – azcards
file=File.new("files.txt", "w")
Dir.entries("/path/to/directory").each do |path|
m = /([^\/]+)\.txt$/.match(path)
file.puts m[1] if m
end
그냥 베어 파일 이름 목록을 산출 basename을 사용하여 전체 경로 목록을 매핑합니다. 확장 프로그램을 삭제할 수 있다고 가정하면 다음을 수행 할 수 있습니다.
file = File.new("files.txt", "w")
file_list = Dir["../path/*txt"].map {|f| File.basename f, '.txt'}
file.puts file_list
'files.txt'의 내용은 무엇입니까? 그것은 지정된 모든 파일의 내용 ('* .txt'귀하의 경우) 하나의 큰 결과 파일로 병합해야합니까? – WarHog
Files.txt에는 그 디렉토리에 .txt로 끝나는 파일 목록이 포함되어 있습니다. 실제로는 그 파일의 파일 이름 만 필요합니다. 경로에는 txt가 없습니다. – azcards
언제/어떻게 "어레이 오류"가 발생합니까? – inger