2016-05-14 86 views
0

我的目標是使用包含以下代碼的python腳本本身創建python文件。雖然變量E1,E2 ...應該由值本身交換。使用python創建python文件

rho_hom=1 
E1=11 
E2=22 
E3=33 
v12=.12 
v13=.13 
v23=.23 
G12=12 
G13=13 
G23=23 

ModelName = 'Model-1' 
mdb.models[ModelName].Material(name='Mat-hom')) 
mdb.models[ModelName].materials['Mat-hom'].Density(table=((rho_hom,),))) 
mdb.models[ModelName].materials['Mat-hom'].Elastic(type=ENGINEERING_CONSTANTS, table=((E1, E2, E3, v12, v13, v23, G12, G13, G23),)) 

我試過了一些事情,但我不知道如何編碼,因爲問題是' - 在代碼中籤名。如何在文件中實現''。我很感激任何建議!

file = open("newfile.py", "w") 
file.write(
ModelName = 'Model-1' 
mdb.models[ModelName].Material(name='Mat-hom')) 
mdb.models[ModelName].materials['Mat-hom'].Density(table=((rho_hom,),))) 
mdb.models[ModelName].materials['Mat-hom'].Elastic(type=ENGINEERING_CONSTANTS, table=((E1, E2, E3, v12, v13, v23, G12, G13, G23),)) 

) 

file.close() 

回答

0

就快,你想傳遞"""到您的文件作家:

file = open("newfile.py", "w") 
file.write(""" 
ModelName = 'Model-1' 
mdb.models[ModelName].Material(name='Mat-hom')) 
mdb.models[ModelName].materials['Mat-hom'].Density(table=((rho_hom,),))) 
mdb.models[ModelName].materials['Mat-hom'].Elastic(type=ENGINEERING_CONSTANTS, table=((E1, E2, E3, v12, v13, v23, G12, G13, G23),)) 

""") 

file.close() 
+0

感謝。沒有意識到有這些「和這些」來解​​決這個問題。我沒有測試過你的代碼,但我的工作現在很好。 – wasntme0804