无符号整形 发表于 2018-8-25 19:26:13

【Python“高级”技术】伪造文件对象

本帖最后由 无符号整形 于 2018-8-25 19:30 编辑

>>> class fb0:
      def readable(self):
                return True
      def writable(self):
                return True
      def seekable(self):
                return True
      def read(self):
                return b'fishc\nfishC'
      def close(self):
                self.closed = True
      def tell(self):
                pass
      closed = False

      
>>> a = open('2n.py')
>>> type(a)(fb0)
<_io.TextIOWrapper encoding='cp936'>#正宗的文件对象
>>> type(a)(fb0).read()
'fishc
fishC'
>>>
**** Hidden Message *****

无符号整形 发表于 2018-8-25 19:29:53

@小甲鱼 @~风介~ @冬雪雪冬 @新手·ing @claws0n

claws0n 发表于 2018-8-25 19:37:40

沙发

无符号整形 发表于 2018-8-25 19:51:38

claws0n 发表于 2018-8-25 19:37
沙发

不~板凳~{:5_109:}

新手·ing 发表于 2018-8-25 20:29:07

{:10_245:

小甲鱼 发表于 2018-8-25 22:46:19

{:5_109:} 不明觉厉 x2

塔利班 发表于 2018-8-25 23:17:06

1

无符号整形 发表于 2018-8-26 10:35:50

小甲鱼 发表于 2018-8-25 22:46
不明觉厉 x2

就是模仿一个缓冲区,然后用缓冲区实例化一个文件句柄,然后得到的文件句柄就可以当文件写/读咯~{:10_282:}

sdtfll 发表于 2018-8-26 11:09:44

ssssssssssssssssssssssssssssssssssssss

塔利班 发表于 2018-8-26 14:44:05

{:10_277:}这年头发个评论真难,还有被说灌水嫌疑{:10_334:}

海龟壳 发表于 2018-8-28 20:01:11

{:10_277:}

革命年 发表于 2020-7-27 20:58:37

类名的第一个字母不应该大写吗?

_2_ 发表于 2020-7-28 08:06:51

革命年 发表于 2020-7-27 20:58
类名的第一个字母不应该大写吗?

不必,
可以小写,并非语法规定必须要大写
比如 int() 和 str() 等,都是对象,但首字母并没有大写
页: [1]
查看完整版本: 【Python“高级”技术】伪造文件对象