Python 2.7 从Python将文本写入文件

Python 2.7 从Python将文本写入文件,python-2.7,Python 2.7,我正在制作一个程序,你可以在其中输入一个字符名,然后生成它的强度和技能等级。我想要它,这样角色的名字和技能/力量水平就可以保存在一个数据库中。我正试图使字符串“character”(字符的详细信息)显示在test.txt文档中,但出现以下错误: import random import time x = 1 def clear(): print "\n" * 100 while x == 1: number1 = random.randrange(1,5) numbe

我正在制作一个程序,你可以在其中输入一个字符名,然后生成它的强度和技能等级。我想要它,这样角色的名字和技能/力量水平就可以保存在一个数据库中。我正试图使字符串“character”(字符的详细信息)显示在test.txt文档中,但出现以下错误:

import random
import time
x = 1
def clear():
    print "\n" * 100


while x == 1:
    number1 = random.randrange(1,5)
    number2 = random.randrange(1,13)
    strength = number2/number1+10
    number3 = random.randrange(1,5)
    number4 = random.randrange(1,13)
    skill = number4/number3+10
    clear()
    print 'Hello and Welcome to the Character Charactaristics Machine'
    time.sleep(1)
    clear()
    qname = raw_input("What is your Character's name?:")
    time.sleep(1)
    clear()
    print "We will now determine", qname,"'s Charactaristics"
    time.sleep(0.5)
    print 'Calculating...'
    time.sleep(0.5)
    print 'Calculating...'
    time.sleep(0.5)
    print 'Calculating...'
    time.sleep(0.5)
    character = (qname,"'s skill level is",skill,"and strength level is" ,strength,)
    print character
    x = 2
    characterdata = open("test.txt", "w")
    characterdata.write(character)
    characterdata.close
回溯(最近一次呼叫最后一次):
文件“C:\Users\George\Documents\School Work\Characteristics of character the code.py”,第34行,在
characterdata.write(字符)
TypeError:应为字符缓冲区对象
需要帮忙吗?谢谢

Traceback (most recent call last):
  File "C:\Users\George\Documents\School Work\Characterisitcs of character the code.py", line 34, in <module>
    characterdata.write(character)
TypeError: expected a character buffer object
character
变量的类型是tuple而不是string,这就是为什么会出现错误

我想你想做的就是这个

character = (qname,"'s skill level is",skill,"and strength level is" ,strength,)

上面创建了一个字符串类型变量。现在可以将此变量写入文件

其他三种可能性:

character = qname + "'s skill level is" + str(skill) + "and strength level is" + str(strength)
最后一个变体可能被认为是最好的,因为它适合i18n(它可以翻译,包括允许更改顺序)

character = ''.join(map(str, (qname,
                              "'s skill level is ",
                              skill,
                              ' and strength level is ',
                              strength,
                              )))
character = "%s's skill level is %s and strenght level is %s" % (qname, skill, strength)
character = "%(qname)s's skill level is %(skill)s and strength level is %(strength)s" \
            locals()