python初体验

状态真是duang的不行。
boolan的两个课程真是跟的想吐。OC完了是swift全是语法一脸懵逼,好在C++底子。虚拟机伤不起。依然要上黑苹果了
前端课程的逻辑清晰点,互动也相对好一些。
静态网页 熟悉CSS框中框有啥难得,另外不会了用开发者模式去网站上去抄。只是javascript后面的课程难度咋样不知道

python~ 自带shell兼职是垃圾,help出来的文档也是跪了真怀疑是不是国人写的文档。。。
python还真是急简,变量不用指明类型直接判断。连var auto什么的直接省了 简直6666
for in 循环也是套起来直接用。

                try:
                    with open('sketch.txt','r') as file_in:
                        for each_line in file_in:
                            try:
                                (spoken,spoken_context) = each_line.split(':',1)
                                spoken_context.strip()  
                                if spoken == 'Man':
                                    man.append(spoken_context)
                                if spoken == 'Other Man':
                                    other.append(spoken_context)
                            except ValueError as err:
                                #print('value error'+str(err))
                                pass
                except IOError as err:
                    print('file err'+str(err))

后台实现逻辑是这样的,打开方式’r’ ‘rb’会决定 file_in中的取值。file_in是否就为一个list里面存储为str呢? 返回值是什么? file_in.readline() 函数 很明显 file_in仍然是一个文件对象,那么问题应该是就是在“for in”语句里面。在Object-C中对象要支持for in循环必须要支持for-in的协议,实现该接口。其次。循环直接用 for each_line in file_in each_line是一个str。那么python在for in是否也加入了某些处理方式,才得到each_line这个str?

    try:
        with open('sketch.txt','rb') as file_in:
        for each_line in file_in:
            try:
                (spoken,spoken_context)=each_line.split(':',1)
                spoken_context.strip()  
                if spoken == 'Man':
                    man.append(spoken_context)
                if spoken == 'Other':
                    other.append(spoken_context)
            except ValueError as err:
                print('value error'+str(err))
                pass
                except IOError as err:
    print('file err'+str(err))`

这段代码会提示错误,原因是”rb”的打开方式。

Traceback (most recent call last):
  File "<pyshell#54>", line 5, in <module>
    (spoken,spoken_context)=each_line.split(':',1)
TypeError: a bytes-like object is required, not 'str'

后台实现逻辑是这样的,打开方式’r’ ‘rb’会决定 file_in中的取值。file_in是否就为一个list里面存储为str呢? 返回值是什么? file_in.readline() 函数 很明显 file_in仍然是一个文件对象,那么问题应该是就是在“for in”语句里面。在Object-C中对象要支持for in循环必须要支持for-in的协议,实现该接口。其次。循环直接用 for each_line in file_in each_line是一个str。那么python在for in是否也加入了某些处理方式,才得到each_line这个str?
如上,a bytes-like object is requied ,not ‘str’。 这里的each_line是按二进制的方式打开的数据,赋值与变量each_line 再调用split 自然会发生错误~

这里写图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值