Ранее мне удавалось создавать списки с помощью команды, подобной следующей:
os.popen('ls *.fits > samplelist')
Теперь я пытаюсь упорядочить файлы в списки, сгруппировав их по номер.
Файлы имеют следующие имена:
Name_0000_J.fits, Name_0001_J.fits, Name_0002_J.fits, т. д.
У меня есть попытался запустить эту строку кода, но он просто создает список skylist_J_1 и оставляет его пустым.
os.popen('for num in {0000..0089} ; do ls Name_$num\_J.fits >> skylist_J_1 ; done')
Я запустил вышеуказанное в командной строке, и он работает отлично. Любое понимание будет с благодарностью.
Редактировать:
Я придумала это решение, но оно довольно громоздкое. Надеюсь, есть более чистый способ сделать это sh.
def MkSkylist(qmin,qmax,name,band,quadrant):
a = qmax-qmin+1
ran = np.arange(qmin,qmax+1)
num = [0]*a
i = 0
while i < a:
num[i] = np.array2string(ran[i]).zfill(4)
i = i + 1
os.popen('ls '+name+num[0]+'_'+band+'.fits > skylist_'+band+'_'+quadrant)
i = 1
while i < a:
os.popen('ls '+name+num[0]+'_'+band+'.fits >> skylist_'+band+'_'+quadrant)
i = i + 1