python逐个读取字符并比较_如何从Python中的文件一次读取一个字符?

I want to read in a list of numbers from a file as chars one char at a time to check what that char is, whether it is a digit, a period, a + or -, an e or E, or some other char...and then perform whatever operation I want based on that. How can I do this using the existing code I already have? This is an example that I have tried, but didn't work. I am new to python. Thanks in advance!

import sys

def is_float(n):

state = 0

src = ""

ch = n

if state == 0:

if ch.isdigit():

src += ch

state = 1

...

f = open("file.data", 'r')

for n in f:

sys.stdout.write("%12.8e\n" % is_float(n))

解决方案

for x in open() reads lines from a file. Read the entire file in as a block of text, then go through each character of the text:

import sys

def is_float(n):

state = 0

src = ""

ch = n

if state == 0:

if ch.isdigit():

src += ch

state = 1

...

data = open("file.data", 'r').read()

for n in data: # characters

sys.stdout.write("%12.8e\n" % is_float(n))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值