Я создавал новый сценарий, в котором я генерирую массив, содержащий список строк (g='g_o.DisplacementMultiplier_'+str(y+1)
, где y
варьируется от 0 до 400).Позже это необходимо использовать для установки четырех свойств в стороннем программном обеспечении, но я вижу, что используемый мной синтаксис устанавливает свойства для переменной g
, а не для g_o.DisplacementMultiplier_#
).
В приложенииэто код:
import smtplib
import math
import time
import imp
import numpy as np
s_o,g_o=new_server
s_o.new()
# Geometry
Bench = 5 # Crest bench
Angle = 23
Height = 15.3
# Frequencies
fz=[]
Tmin=0.01
Tmax=4
Tstep=0.01
Ts = np.arange(Tmin, (Tmax+Tstep), Tstep)
fz = float(1)/Ts
# Calculate x-lenght of slope
dtot= Height / math.tan(math.pi*Angle/180)
# Calculate xmax
xmax = (2 * dtot)+ Bench
# Displacement
g_o.linedispl (0, 0, xmax, 0)
g_o.set(g_o.Line_1.LineDisplacement.Displacement_x, "Prescribed")
g_o.set(g_o.Line_1.LineDisplacement.Displacement_y, "Fixed")
g_o.set(g_o.Line_1.LineDisplacement.ux_start, 1)
# Generate displc multipliers
for y in range (0, len(fz)):
g_o.displmultiplier()
g='g_o.DisplacementMultiplier_'+str(y+1)
g_o.set(g[y].Amplitude, 10)
g_o.set(g[y].DataType, "Accelerations")
g_o.set(g[y].Frequency, fz[y])
Ошибка из кода:
g_o.set(g[y].Amplitude, 10)
AttributeError: 'str' object has no attribute 'Amplitude'