如何在python 3.3.2中将输出写入文件

时间:2014-04-02 18:52:29

标签: python variables python-3.x save

我已经编写了一些代码,为两个不同的字符创建了两个强度和技能值,我现在希望能够将输出保存到名为' Characters'的文本文件中,我尝试过其他方法但我不知道它保存到哪里,理想情况下我希望程序创建文件,所以如果程序被移动到另一台计算机,它会再次创建该文件写入,这是迄今为止的代码;

import random

char1=str(input('Please enter a name for character 1: '))
strh1=((random.randrange(1,4))//(random.randrange(1,12))+10)
skl1=((random.randrange(1,4))//(random.randrange(1,12))+10)
line = '%s has a strength value of %s and a skill value of %s'%(char1,strh1,skl1)


char2=str(input('Please enter a name for character 2: '))
strh2=((random.randrange(1,4))//(random.randrange(1,12))+10)
skl2=((random.randrange(1,4))//(random.randrange(1,12))+10)
line = '%s has a strength value of %s and a skill value of %s'%(char1,strh1,skl1)

我希望将数据保存在txt文件中的两行格式中:

char1(例如steve)的强度值为strh1(例如12),技能值为skl1(例如17) 然后在char2的下一行重复

我尝试了两种不同的方法(json和open输出,a),但它无法正常工作,因为我无法找到它写入的文件,所以如果somone可以帮助我找到一个非常好的解决方案,谢谢!

编辑:我在Windows中写作

2 个答案:

答案 0 :(得分:3)

char_data1 = {
   "name":"steve",
   "level":1,
    "inventory":["cloak","dagger"],
    "whatever else":"something"
};

char_data2 = {
   "name":"cookie",
   "level":1,
    "inventory":["cigarettes","methamphetamine"],
    "whatever else":"something else"
};
char_data = [char_data1,char_data2]

import json
json.dump(char_data,open("character_data.dat","wb"))


char_data_loaded = json.load(open("character_data.dat"))

非常简单......文件“character_data.dat”创建在当前工作目录

的位置

答案 1 :(得分:1)

如果您需要知道保存文件的默认位置,可以使用:

import os
print (os.getcwd())

...显示:

M:\
如果我从IPython运行此代码,那么

...在我的联网Windows PC上:

C:\usr\sjl\python

...如果我从该目录中的Windows命令提示符运行它。

另见Find current directory and file's directory