2016-05-14 3 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

Смежные вопросы