[英]Python 3 - Issue formatting a file being written to
我正在尝试打开并写入.txt文件,但是,我想在程序中使用变量名(更改后的格式,以便区分文件)来格式化文件名。
我的整个代码是:
def main():
num_episodes = 50
steps = 10000
learning_rate_lower_limit = 0.02
learning_rate_array = numpy.linspace(1.0, learning_rate_lower_limit, num_episodes)
gamma = 1.0
epsilon = .25
file = csv_to_array(sys.argv[1])
grid = build_racetrack(file)
scenario = sys.argv[2]
track = sys.argv[3]
if(track == "right"):
start_state = State(grid=grid, car_pos=[26, 3])
else:
start_state = State(grid=grid, car_pos=[8,1])
move_array = []
for episode in range(num_episodes):
state = start_state
learning_rate = learning_rate_array[episode]
total_steps = 0
for step in range(steps):
total_steps = total_steps + 1
action = choose_action(state, epsilon)
next_state, reward, finished, moves = move_car(state, action, scenario)
move_array.append(moves)
if (finished == True):
print("Current Episode: ", episode, "Current Step: ", total_steps)
file = open("{}_Track_Episode{}.txt", "w").format(track, episode)
file.write(str(move_array))
move_array = []
break
else:
query_q_table(state)[action] = query_q_table(state, action) + learning_rate * (
reward + gamma * numpy.max(query_q_table(next_state)) - query_q_table(state, action))
state = next_state
main()
我目前收到的错误是:
file = open("{}_Track_Episode{}.txt", "w").format(track, episode) AttributeError: '_io.TextIOWrapper' object has no attribute 'format'
一些研究表明,在写入对象时无法格式化对象。 但是,在程序中文件名是动态变量的情况下,如何使用.format
创建文件?
您需要先格式化文件的名称,然后再尝试打开它。
file = open("{}_Track_Episode{}.txt".format(track, episode), "w")
之所以收到该错误,是因为您正在尝试format
open()
( TextIOWrapper
)返回的对象的format
。 而且该对象没有format
方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.