<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on CuSO4_Deposit</title><link>https://depoze.xyz/tags/python/</link><description>Recent content in Python on CuSO4_Deposit</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 28 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://depoze.xyz/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>Docstrings != Multiline strings</title><link>https://depoze.xyz/pages/docstrings/</link><pubDate>Fri, 28 Feb 2025 00:00:00 +0000</pubDate><guid>https://depoze.xyz/pages/docstrings/</guid><description>&lt;p&gt;Before python 3.13, docstrings are also not trimmed by default.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://docs.python.org/3/whatsnew/3.13.html#other-language-changes"&gt;Common leading spaces are trimmed from a docstring since 3.13&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;But multiline strings are not treated so. Leading spaces are always what-you-see-is-what-you-get.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;%&lt;/span&gt; nix run nixpkgs&lt;span style="color:#57606a"&gt;#python313&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Python &lt;span style="color:#0550ae"&gt;3.13.2&lt;/span&gt; &lt;span style="color:#1f2328"&gt;(&lt;/span&gt;main&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; Feb &lt;span style="color:#0550ae"&gt;4&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2025&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;14&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;51&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;09&lt;/span&gt;&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#1f2328"&gt;[&lt;/span&gt;GCC &lt;span style="color:#0550ae"&gt;14.2.1&lt;/span&gt; &lt;span style="color:#0550ae"&gt;20241116&lt;/span&gt;&lt;span style="color:#1f2328"&gt;]&lt;/span&gt; on linux&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Type &lt;span style="color:#0a3069"&gt;&amp;#34;help&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;copyright&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;credits&amp;#34;&lt;/span&gt; &lt;span style="color:#0550ae"&gt;or&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;license&amp;#34;&lt;/span&gt; &lt;span style="color:#cf222e"&gt;for&lt;/span&gt; more information&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#cf222e"&gt;def&lt;/span&gt; &lt;span style="color:#6639ba"&gt;a&lt;/span&gt;&lt;span style="color:#1f2328"&gt;():&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;&amp;#34;&amp;#34;This is a docstring&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... Its indent is not the same across lines.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... This line has more indentation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt; &lt;span style="color:#cf222e"&gt;pass&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; a&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#953800"&gt;__doc__&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;This is a docstring&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt;Its indent is not the same across lines.&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt; This line has more indentation.&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#cf222e"&gt;def&lt;/span&gt; &lt;span style="color:#6639ba"&gt;a&lt;/span&gt;&lt;span style="color:#1f2328"&gt;():&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;&amp;#34;&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... This is a docstring&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... Its indent is not the same across lines.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... This line has more indentation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt; &lt;span style="color:#cf222e"&gt;pass&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; a&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#953800"&gt;__doc__&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt;This is a docstring&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt;Its indent is not the same across lines.&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt; This line has more indentation.&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; B &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;&amp;#34;&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... This is a multiline string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... Its indent is also not the same across lines.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; B&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt; This is a multiline string&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt; Its indent is also not the same across lines.&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt; &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; B &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... This is a multiline string&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... Its indent is also not the same across lines.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; B&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39; This is a multiline string&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt; Its indent is also not the same across lines.&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n&lt;/span&gt;&lt;span style="color:#0a3069"&gt; &amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; exit&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;%&lt;/span&gt; nix run nixpkgs&lt;span style="color:#57606a"&gt;#python312&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Python &lt;span style="color:#0550ae"&gt;3.12.9&lt;/span&gt; &lt;span style="color:#1f2328"&gt;(&lt;/span&gt;main&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; Feb &lt;span style="color:#0550ae"&gt;4&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2025&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;14&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;38&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;38&lt;/span&gt;&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#1f2328"&gt;[&lt;/span&gt;GCC &lt;span style="color:#0550ae"&gt;14.2.1&lt;/span&gt; &lt;span style="color:#0550ae"&gt;20241116&lt;/span&gt;&lt;span style="color:#1f2328"&gt;]&lt;/span&gt; on linux&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Type &lt;span style="color:#0a3069"&gt;&amp;#34;help&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;copyright&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;credits&amp;#34;&lt;/span&gt; &lt;span style="color:#0550ae"&gt;or&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;license&amp;#34;&lt;/span&gt; &lt;span style="color:#cf222e"&gt;for&lt;/span&gt; more information&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#cf222e"&gt;def&lt;/span&gt; &lt;span style="color:#6639ba"&gt;a&lt;/span&gt;&lt;span style="color:#1f2328"&gt;():&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;&amp;#34;&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... This is a docstring.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... Its indent balabala&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;... &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt; &lt;span style="color:#cf222e"&gt;pass&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;...&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; a&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#953800"&gt;__doc__&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n\t&lt;/span&gt;&lt;span style="color:#0a3069"&gt;This is a docstring.&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n\t&lt;/span&gt;&lt;span style="color:#0a3069"&gt; Its indent balabala&lt;/span&gt;&lt;span style="color:#0a3069"&gt;\n\t&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;#python&lt;/p&gt;</description></item><item><title>How to type annotate a Gzipfile in Python?</title><link>https://depoze.xyz/pages/gzipfile-typing/</link><pubDate>Sat, 05 Oct 2024 00:00:00 +0000</pubDate><guid>https://depoze.xyz/pages/gzipfile-typing/</guid><description>&lt;p&gt;Pyright complains when I use the following code to process gzip files:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;import&lt;/span&gt; &lt;span style="color:#24292e"&gt;gzip&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;import&lt;/span&gt; &lt;span style="color:#24292e"&gt;os&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;import&lt;/span&gt; &lt;span style="color:#24292e"&gt;typing&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;def&lt;/span&gt; &lt;span style="color:#6639ba"&gt;readfile&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;f&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; os&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;PathLike &lt;span style="color:#0550ae"&gt;|&lt;/span&gt; typing&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;TextIO&lt;span style="color:#1f2328"&gt;):&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&lt;span style="color:#cf222e"&gt;pass&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;with&lt;/span&gt; gzip&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;open&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;/path/to/foo.gz&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;r&amp;#39;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#cf222e"&gt;as&lt;/span&gt; &lt;span style="color:#6639ba"&gt;input&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; readfile&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;input&lt;/span&gt;&lt;span style="color:#1f2328"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Diagnostics:&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; Argument of type &amp;#34;GzipFile&amp;#34; cannot be assigned to parameter &amp;#34;file&amp;#34; of type &amp;#34;PathLike[Unknown] | TextIO&amp;#34; in func&#10; tion &amp;#34;readfile&amp;#34;&#10;   Type &amp;#34;GzipFile&amp;#34; is incompatible with type &amp;#34;PathLike[Unknown] | TextIO&amp;#34;&#10;     &amp;#34;GzipFile&amp;#34; is incompatible with protocol &amp;#34;PathLike[Unknown]&amp;#34;&#10;       &amp;#34;__fspath__&amp;#34; is not present&#10;     &amp;#34;GzipFile&amp;#34; is incompatible with &amp;#34;TextIO&amp;#34; [reportArgumentType]&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="text-file-inside"&gt;Text File inside&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;According to the gzip.open() docs:&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;The &lt;em&gt;filename&lt;/em&gt; argument can be an actual filename (a &lt;a href="https://docs.python.org/3/library/stdtypes.html#str"&gt;str&lt;/a&gt; or &lt;a href="https://docs.python.org/3/library/stdtypes.html#bytes"&gt;bytes&lt;/a&gt; object), or an existing file object to read from or write to.&lt;/p&gt;</description></item></channel></rss>