Otomatik klasörle oluşturmak ve içindeki verileri otomatik girmek için betik

Başlatan zeusmaster, 16 Aralık 2011 - 22:53:38

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

zeusmaster

Arkadaşlar biliyorum biraz fazla olmaya başladım ama kendimi programlama konusunda geliştirene kadar yardımlarınıza ihtiyacım var.Yardımcı olursanız sevinirim.
Bazen nümerik hesaplar yapmak için belki 2000 tane klasör oluşturup içlerine .csv uzantılı bir dosya ve info adlı bir txt dosyası koymam gerekiyor.Her klasöre koyduğum .csv dosyası tamamen aynı, info içinde sadece bir sayı değiştirmem gerekiyor.Bunu otomatik yapacak bir betik nasıl yapılır?

Öncelikle klasörleri oluşturmak.Dosya adları sayı olacak şekilde.
Örneğin klasör adları :4.991-4.993-4.994
Ben bir aralık ve artış belirlesem.Klasörler nasıl oluşur?
Örneğin:4.000-5.000 arasında 0.100 artışla klasörler oluşmasını istiyorum.Bana 11 tane otomatik olarak klasör nasıl yapar?
Oluşan klasörlerin içine DOSYA_ADı.csv dosylaraını otomatik olarak kopyalayacak.
Son olarak her klasörün içine info dosyasını atacak.Aşağıdaki info nun içeriği
Dimensions = 2

FlushMessages = yes

CalculationMode = gs

Units = atomic

FromScratch = yes

ExtraStates = 0

N = 48

%Species
"qd" | 1.0 | species_from_file | N | "eksi3_2_1500nm_uzunsekil_48x96_ha.csv"
%

%Coordinates
"qd" | 0 | 0 | no
%

%Occupations
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1
%

SpinComponents = polarized

# P_c is the speed of light in atomic units.

P_c = 137.036

%StaticMagneticField
0 | 0 | 0.1457106*P_c*4.975
%

BoxShape = parallelepiped

%LSize
56 | 112 | 0
%

Spacing = 1.1

DerivativesOrder = 4

GyroMagneticRatio = 0

LCAOStart = lcao_none

TheoryLevel = dft

EigenSolver = cg
MaximumIter = 5000
ConvAbsEv   = 1e-5
TypeOfMixing = broyden

ParallelizationStrategy = par_domains

Output = potential + density + matrix_elements
OutputMatrixElements = ang_momentum
OutputHow = plane_z + matlab


ve içindeki değişecek kısım
%StaticMagneticField
0 | 0 | 0.1457106*P_c*4.975
%

bölümündeki 4.975.
Bu değişecek değer klasör adıyla aynı olacak.Yardımcı olursanız işlerimiz çok kolaylaşmış olacak.Şimdiden çok teşekkürler





Up and Running...

if

#1
@bahdem, bu ve şu1 konunun başlıklarını içeriğe uygun olarak değiştirseniz arama yapanlara kolaylık olurdu. Çok genel bir başlık bu:)

1 http://forum.ubuntu-tr.net/index.php?topic=30957.0

sem

Bunlar octopus ile alakalı sanırım, bu isteği Octopus GUI hazırlarken dikkate alalım mı =)

Bu arada hangi dil ile yapmak istiyorsunuz bunu? Bash mi? Bir başlıkta Python'a başladığınızı gördüm.. Öncelikli önerim bir çok şeye "girişip elde var sıfır" olmaktansa bir şeye odaklanın derim...

Örneğin Python harika bir seçim olmuş... Hem öğrenmesi, hem de geliştirmesi çok kolay... Bir kaç bölüm ilerleyip, dosya ve dizin işlemlerine geldiğiniz zaman bu sorunu rahatlıkla, ya da sıfırdan programlama başlıyorsanız çok rahat olmasa da çok ufak bir yardım ile aşabilirsiniz...

Ama sıfırdan yardım etmek size bir katkı sağlamayacaktır... O nedenle önerim yavaşça ve sakince =) ilerlemeniz olacak =)... Takıldığınız yerde mutlaka zaman kaybetmeden sorun fakat dediğim gibi bir kaç bölüm ilerleyip dosya dizin işlemlerine geldiğinizde işler herkes açısından çok daha kolay olacak...

Bir başka başlığınızda göndermiş olduğum bir (çıktıları almak için kodlarını değiştirmenizi önermiş olduğum) uygulama vardı... Mesela o uygulama dosya ve dizin işlemleri için güzel bir deneme tahtası olacaktır =)
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?