так что я очень новичок в программировании и недавно написал небольшую программу, в которой использовались R и sox. Это выглядело так
file <- "test.mp3"
testSox = paste("sox ",file," -n spectrogram -o ",file,".png stats",sep='')
sox = system(testSox, intern = TRUE)
print(sox)
Теперь вместо того, чтобы назначать один файл вручную в коде, я просто хотел бы, чтобы этот код автоматически читал все mp3 в папке. Это возможно? Любая помощь будет принята с благодарностью. Спасибо!
РЕДАКТИРОВАТЬ: На самом деле, я должен добавить, что я пробовал list.files, но когда дело доходит до запуска команды system(), я получаю
«Ошибка в системе (команда, as.integer (флаг), f, stdout, stderr): строка символов ожидается в качестве первого аргумента»
Вот код list.files, который я пробовал:
> temp = list.files(path = ".", pattern=".mp3")
>
> file <- temp
>
> firstSox = paste("sox ",file," -n spectrogram -o ",file,".png stats",sep='')
> sox = system(firstSox, intern = TRUE)
Error in system(command, as.integer(flag), f, stdout, stderr) :
character string expected as first argument
> print(sox)
Я предполагаю, что это не правильный путь? Потому что мне в основном нужно заменить «файл» в строке firstSox на каждый mp3, который находится в массиве temp. Итак, вместо запуска:
file <- "test.mp3"
... Я просто хотел бы, чтобы он каждый раз переназначался для каждого файла в папке..., чтобы он выполнялся как test.mp3, затем 1.mp3, затем 2.mp3 , затем 3.мп и т.д.
Я обыскал сеть и просто чувствую, что наткнулся на кирпичную стену. Как указано в комментариях, я читал о циклах, но по какой-то причине я не могу понять, как включить его в то, что я написал. Я чувствую, что мне просто нужно, чтобы кто-то показал мне хотя бы путь или, может быть, даже написал мне пример, чтобы я мог обдумать его. Буду очень признателен за помощь и любые советы о том, что я делаю неправильно и могу исправить. Спасибо.