自定义文件名

时间:2018-02-02 09:57:25

标签: python file

我希望为我的游戏创建一个系统,用户可以将一些信息保存到文件中;但是,我不确定我是否能够在输入名称后命名文件。 (“james”成为“james.txt”将是我想要发生的一个例子)

import pygame
def playerSave(playerName):
  player = open("player1.txt", "w")
  player.write("test")
  player.close()
  playerLoad()
def playerLoad():
  player = open("player1.txt", "r")
  message = player.read()
  print (message)
  player.close()
playerName = "james"
playerSave(playerName)

我不确定如何做到这一点,但上面的代码显示了我到目前为止所拥有的内容。

非常感谢任何帮助:)

2 个答案:

答案 0 :(得分:1)

我不会这样做。因为保存游戏的目的是在将来的某个时刻加载它,如果你在下次玩游戏时不知道玩家的名字,他将不得不再次输入名字。

你希望你的玩家每次上场时输入他的名字吗?我会创建一些插槽,并将每个游戏保存在不同的插槽中,然后让用户选择插槽。

类似的东西:

import os

slot = # Whatever way you think of asking the user what slot to load.
with open(os.path.join(ROOT_DIR, "saves", "slot") + slot + ".txt", "r") as f:
    data = f.read()
# You have your name in the file somehow
data = parse_load(data)
name = data.name

答案 1 :(得分:0)

使用输入执行文件扩展名的简单连接:

fileName = input("Player name: ") + ".txt"
player = open(fileName, "w")

如果您希望在重新启动游戏后能够读取这些文件,您可能需要考虑创建一个包含所有玩家名称的“主”文本/数据文件,然后您可以稍后再读取这些文件