如何在Python中将字符串转换为整数

2024-05-29 04:24:33 发布

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

我有把整数转换成字符串的代码,可以把它写进一个文件,但是把它转换回整数的代码,这样我就可以把它通过简单的方程来处理,这是行不通的。你知道吗

我的代码: 写作:

saveposx = open("sevedposx.txt", "w")
saveposy = open("sevedposy.txt", "w")
saveposx.write(str(x))
saveposy.write(str(y))

其中x = 32y = 32也是

阅读:

readposx = open("sevedposx.txt", "r")
readposy = open("sevedposy.txt", "r")
posx = readposx.read(50)
posy = readposy.read(50)
actposx = int(posx)
actposy = int(posy)
actpos = ((actposx - 2), (actposy - 2))

xy在循环外定义为允许重写xy。你知道吗

我的代码给了我这个错误:

  File "name_yet_to_come.py", line 399, in <module>
    actposx = int(posx)
ValueError: invalid literal for int() with base 10: ''

谢谢


Tags: 代码txt整数openwriteintstrposx
2条回答

错误消息指示文件为空。可能输出文件变量仍在作用域中引用/或尚未被垃圾收集。你知道吗

使用

with open(...) as f:
    pass # do something with f here

使文件在作用域末尾自动刷新和关闭。你知道吗

或者用f.close()显式关闭它们,然后考虑使用try finally块。你知道吗

您也可以在这个范围内打开多个文件,如How can I open multiple files using "with open" in Python?中进一步解释的那样。你知道吗

with open('a', 'w') as a, open('b', 'w') as b:
    pass # do something with a and b here

如果你想做IPC,那么使用TCP流或者^{}(或者更好的方法是:^{})。你知道吗

写入后必须关闭文件以确保所有内容都已保存。 所以在写作部分你应该加上几行

saveposx.close()
saveposy.close()

相关问题 更多 >

    热门问题