将代码从当前文件复制到另一个python文件

2024-07-04 10:41:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将几行代码从一个python文件复制到另一个python文件。你知道吗

这里的想法是,我正在为一个基于文本的冒险游戏设置一个简单的角色创建者,我需要将代码转移到一个角色表中,以便稍后在项目中使用。你知道吗

我试过使用.write函数,但它不接受整数

编辑;语法

edit2;在“else”一点上搞砸了

import sys
C_sheet=open("CharacterSheet.txt", 'w')

strength=10
dexterity=10
cunning=10
magic=10

mana=200
health_points=100

name=input("Name your character; ",)
C_sheet.write(name)


invalid2=True

def job():
    role=input("Choose your role: Fighter(F), Mage(M), Thief(T): ", )
    role=role.upper()

    if role=="F":
        st=(strength+5)
        dex=(dexterity+0)
        cun=(cunning-3)
        mag=(magic-5)
        mn=(mana-50)
        hp=(health_points+25)
        C_sheet.write("Fighter")
        C_sheet.write(st)
        C_sheet.write(dex)
        C_sheet.write(cun)
        C_sheet.write(mag)
        C_sheet.write(mn)
        C_sheet.write(hp)
        C_sheet.close()
        invalid2=False


    else:
        print("invalid")
        invalid2=True

while invalid2:
    job()

我想让另一个文件看起来像这样

name=("placeholder")

st=15
dex=10
cun=7
mag=5
mn=150
hp=225

Tags: 文件代码name角色elserolewritesheet
1条回答
网友
1楼 · 发布于 2024-07-04 10:41:28

你说得对,fh.write只接受以wwt模式打开的文件的字符串。要解决此问题,您可以使用:

字符串格式

with open('somefile.txt', 'w') as fh:
    fh.write('%d' % 5) # for ints
    fh.write('%f' % 6) # for floats
    fh.write('%s' % 'string') # for strings

# OR str.format syntax 
with open('somefile.txt', 'w') as fh:
    fh.write('{}'.format(5)) # transferrable to all types of variables

f字符串(仅限python 3.5以上版本)

with open('somefile.txt', 'w') as fh:
    fh.write(f'{5}') # will work for all variables

f-strings将是我的选择,因为它对所有变量都是一样的,尽管带有{}%的字符串格式对于python3和python2是可移植的,如果这是一个问题的话。你知道吗

要使用这两个选项获取所需的格式,请执行以下操作:

字符串格式

with open('somefile.txt', 'w') as fh:
    fh.write('dex = %d' % dexterity)
    # will write "dex = 10" or whatever you have substituted

f字串

with open('somefile.txt', 'w') as fh:
    fh.write(f'dex = {dexterity})

相关问题 更多 >

    热门问题