MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / __iter__

Method __iter__

tools/python-3.11.9-amd64/Lib/tarfile.py:2726–2755  ·  view source on GitHub ↗

Provide an iterator object.

(self)

Source from the content-addressed store, hash-verified

2724 return member
2725
2726 def __iter__(self):
2727 """Provide an iterator object.
2728 """
2729 if self._loaded:
2730 yield from self.members
2731 return
2732
2733 # Yield items using TarFile's next() method.
2734 # When all members have been read, set TarFile as _loaded.
2735 index = 0
2736 # Fix for SF #1100429: Under rare circumstances it can
2737 # happen that getmembers() is called during iteration,
2738 # which will have already exhausted the next() method.
2739 if self.firstmember is not None:
2740 tarinfo = self.next()
2741 index += 1
2742 yield tarinfo
2743
2744 while True:
2745 if index < len(self.members):
2746 tarinfo = self.members[index]
2747 elif not self._loaded:
2748 tarinfo = self.next()
2749 if not tarinfo:
2750 self._loaded = True
2751 return
2752 else:
2753 return
2754 index += 1
2755 yield tarinfo
2756
2757 def _dbg(self, level, msg):
2758 """Write debugging output to sys.stderr.

Callers

nothing calls this directly

Calls 1

nextMethod · 0.95

Tested by

no test coverage detected