{"id":500,"date":"2026-01-23T18:18:05","date_gmt":"2026-01-23T10:18:05","guid":{"rendered":"http:\/\/shr1mp.top\/?p=500"},"modified":"2026-01-24T11:38:33","modified_gmt":"2026-01-24T03:38:33","slug":"python%e4%b8%ad%e7%9a%84%e5%b8%b8%e7%94%a8%e5%87%bd%e6%95%b0%e5%ba%93%e5%8f%8a%e5%87%bd%e6%95%b0%ef%bc%88misc%e6%96%b9%e5%90%91%ef%bc%89","status":"publish","type":"post","link":"http:\/\/shr1mp.top\/index.php\/2026\/01\/23\/python%e4%b8%ad%e7%9a%84%e5%b8%b8%e7%94%a8%e5%87%bd%e6%95%b0%e5%ba%93%e5%8f%8a%e5%87%bd%e6%95%b0%ef%bc%88misc%e6%96%b9%e5%90%91%ef%bc%89\/","title":{"rendered":"python\u4e2d\u7684\u5e38\u7528\u51fd\u6570\u5e93\u53ca\u51fd\u6570\uff08misc\u65b9\u5411\uff09"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"pillow-pil-\u5e93-\u56fe\u7247\u8bc6\u522b\">Pillow\uff08PIL\uff09\u5e93(\u56fe\u7247\u8bc6\u522b)<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u56fe\u7247\u8bfb\u53d6\u3001\u50cf\u7d20\u64cd\u4f5c\u3001\u901a\u9053\u5206\u79bb\u3001GIF\u5e27\u5904\u7406<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Image.open(filename)\uff1a\u6253\u5f00\u56fe\u7247\u6587\u4ef6\uff0c\u8fd4\u56deImage\u5bf9\u8c61\nImage.new(mode, size, color)\uff1a\u521b\u5efa\u65b0\u56fe\u7247\nimg.getpixel((x, y))\uff1a\u83b7\u53d6\u6307\u5b9a\u5750\u6807\u7684\u50cf\u7d20\u503c\uff08\u8fd4\u56de\u5143\u7ec4(R, G, B)\uff09\nimg.putpixel((x, y), value)\uff1a\u8bbe\u7f6e\u50cf\u7d20\u503c\nimg.split()\uff1a\u5206\u79bbRGB\u901a\u9053\uff0c\u8fd4\u56de\u4e09\u4e2a\u901a\u9053\u7684\u56fe\u7247\nimg.convert(mode)\uff1a\u8f6c\u6362\u56fe\u7247\u6a21\u5f0f\uff08\u5982'L'\u7070\u5ea6\u3001'RGB'\u5f69\u8272\uff09\nimg.save(filename)\uff1a\u4fdd\u5b58\u56fe\u7247\nimg.seek(frame)\uff1a\u8df3\u8f6c\u5230GIF\u7684\u6307\u5b9a\u5e27\uff08\u914d\u5408.n_frames\u83b7\u53d6\u603b\u5e27\u6570\uff09\nimg.n_frames\uff1aGIF\u56fe\u7247\u7684\u603b\u5e27\u6570\u5c5e\u6027<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pyzbar\u5e93-\u4e8c\u7ef4\u7801\u8bc6\u522b\">pyzbar\u5e93\uff08\u4e8c\u7ef4\u7801\u8bc6\u522b\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u8bc6\u522b\u548c\u89e3\u6790\u4e8c\u7ef4\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    decode(image)\uff1a\u8bc6\u522b\u56fe\u7247\u4e2d\u7684\u4e8c\u7ef4\u7801\uff0c\u8fd4\u56de\u89e3\u7801\u7ed3\u679c\u5217\u8868<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"base64\u6a21\u5757-\u5185\u7f6e-\u7f16\u7801\">base64\u6a21\u5757\uff08\u5185\u7f6e\uff09\uff08\u7f16\u7801\uff09<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>    base64.b64encode(data)\uff1aBase64\u7f16\u7801\n    base64.b64decode(data)\uff1aBase64\u89e3\u7801<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"zlib\u6a21\u5757-\u5185\u7f6e-\u7f16\u7801\">zlib\u6a21\u5757\uff08\u5185\u7f6e\uff09\uff08\u7f16\u7801\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1aCRC32\u6821\u9a8c\u8ba1\u7b97<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>zlib.crc32(data)\uff1a\u8ba1\u7b97\u6570\u636e\u7684CRC32\u6821\u9a8c\u503c<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"struct\u6a21\u5757-\u5185\u7f6e-\u5b57\u8282\u4e0e\u6570\u636e\u7f16\u7801\">struct\u6a21\u5757\uff08\u5185\u7f6e\uff09\uff08\u5b57\u8282\u4e0e\u6570\u636e\u7f16\u7801\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u5b57\u8282\u4e0e\u6570\u636e\u7c7b\u578b\u7684\u6253\u5305\/\u89e3\u5305<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    struct.pack(format, value)\uff1a\u5c06\u6570\u636e\u6253\u5305\u4e3a\u5b57\u8282\n    struct.unpack(format, data)\uff1a\u5c06\u5b57\u8282\u89e3\u5305\u4e3a\u6570\u636e<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\u683c\u5f0f\u5b57\u7b26\uff1a\n\n    'i'\uff1a4\u5b57\u8282\u6574\u6570\n    'I'\uff1a4\u5b57\u8282\u65e0\u7b26\u53f7\u6574\u6570\n    '>i'\uff1a\u5927\u7aef\u5e8f4\u5b57\u8282\u6574\u6570\n    '<i'\uff1a\u5c0f\u7aef\u5e8f4\u5b57\u8282\u6574\u6570\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"hashlib\u6a21\u5757-\u5185\u7f6e-md5\u7f16\u7801\">hashlib\u6a21\u5757\uff08\u5185\u7f6e\uff09\uff08md5\u7f16\u7801\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u8ba1\u7b97\u54c8\u5e0c\u503c\uff08MD5\u3001SHA1\u7b49\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    hashlib.md5(data).hexdigest()\uff1a\u8ba1\u7b97MD5\u54c8\u5e0c\n    hashlib.sha1(data).hexdigest()\uff1a\u8ba1\u7b97SHA1\u54c8\u5e0c\n    hashlib.file_digest(file_obj, 'md5')\uff1a\u8ba1\u7b97\u6587\u4ef6\u54c8\u5e0c<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"urllib-parse\u6a21\u5757-\u5185\u7f6e-url\u7f16\u7801\">urllib.parse\u6a21\u5757\uff08\u5185\u7f6e\uff09\uff08url\u7f16\u7801\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1aURL\u7f16\u89e3\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    urllib.parse.unquote(string)\uff1aURL\u89e3\u7801\n    urllib.parse.quote(string)\uff1aURL\u7f16\u7801<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"zipfile\u6a21\u5757-\u5185\u7f6e-zip\u538b\u7f29\u5305\">zipfile\u6a21\u5757\uff08\u5185\u7f6e\uff09\uff08zip\u538b\u7f29\u5305\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1aZIP\u538b\u7f29\u5305\u64cd\u4f5c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    ZipFile(filename)\uff1a\u6253\u5f00ZIP\u6587\u4ef6\n    .extractall(path=None, pwd=None)\uff1a\u89e3\u538b\u6240\u6709\u6587\u4ef6\uff08\u53ef\u6307\u5b9a\u5bc6\u7801\uff09\n    .namelist()\uff1a\u83b7\u53d6\u538b\u7f29\u5305\u5185\u6587\u4ef6\u5217\u8868<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"os\u6a21\u5757-\u5185\u7f6e-\u6587\u4ef6\u7cfb\u7edf\u64cd\u4f5c\">os\u6a21\u5757\uff08\u5185\u7f6e\uff09\uff08\u6587\u4ef6\u7cfb\u7edf\u64cd\u4f5c\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u6587\u4ef6\u7cfb\u7edf\u64cd\u4f5c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    os.listdir(path)\uff1a\u5217\u51fa\u76ee\u5f55\u5185\u5bb9\n    os.path.join(path1, path2)\uff1a\u62fc\u63a5\u8def\u5f84\n    os.rename(src, dst)\uff1a\u91cd\u547d\u540d\u6587\u4ef6\n    os.walk(path)\uff1a\u9012\u5f52\u904d\u5386\u76ee\u5f55<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"numpy\u5e93-\u6570\u636e\u5904\u7406\">numpy\u5e93\uff08\u6570\u636e\u5904\u7406\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u6570\u7ec4\u64cd\u4f5c\u3001\u6570\u636e\u5206\u6790<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>np.array(data)\uff1a\u521b\u5efa\u6570\u7ec4\nnp.unique(array)\uff1a\u53bb\u91cd\u5e76\u6392\u5e8f\nnp.bincount(array)\uff1a\u7edf\u8ba1\u5143\u7d20\u51fa\u73b0\u6b21\u6570\nnp.fromfunction(func, shape)\uff1a\u901a\u8fc7\u51fd\u6570\u751f\u6210\u6570\u7ec4<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pyshark\u5e93-\u6d41\u91cf\">pyshark\u5e93\uff08\u6d41\u91cf\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u4f5c\u7528<\/strong>\uff1a\u89e3\u6790\u7f51\u7edc\u6d41\u91cf\u5305\uff08pcap\u6587\u4ef6\uff09<\/p>\n\n\n\n<p>FileCapture(filename)\uff1a\u6253\u5f00pcap\u6587\u4ef6<br>\u904d\u5386\u6570\u636e\u5305\uff0c\u901a\u8fc7.http\u3001.tcp\u7b49\u5c5e\u6027\u8bbf\u95ee\u534f\u8bae\u5b57\u6bb5<\/p>\n\n\n\n<p>\u4f8b\u5b50<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import pyshark\n\ncap = pyshark.FileCapture('traffic.pcap')\nfor packet in cap:\n    if hasattr(packet, 'http'):\n        print(f\"HTTP\u8bf7\u6c42: {packet.http.request_uri}\")<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"socket\u6a21\u5757-\u5185\u7f6e-\u7f51\u7edc\u901a\u4fe1\">socket\u6a21\u5757\uff08\u5185\u7f6e\uff09\uff08\u7f51\u7edc\u901a\u4fe1\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u7f51\u7edc\u901a\u4fe1\uff08\u76f4\u63a5\u8fde\u63a5\u9898\u76ee\u670d\u52a1\u5668\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    socket.socket()\uff1a\u521b\u5efa\u5957\u63a5\u5b57\n    s.connect((host, port))\uff1a\u8fde\u63a5\u670d\u52a1\u5668\n    s.send(data)\uff1a\u53d1\u9001\u6570\u636e\n    s.recv(bufsize)\uff1a\u63a5\u6536\u6570\u636e<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"binascii\u6a21\u5757-\u5185\u7f6e\">binascii\u6a21\u5757\uff08\u5185\u7f6e\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u4e8c\u8fdb\u5236\u4e0eASCII\u8f6c\u6362<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    binascii.hexlify(data)\uff1a\u5b57\u8282\u8f6c\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\n    binascii.unhexlify(hex_str)\uff1a\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\u8f6c\u5b57\u8282<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"itertools\u6a21\u5757-\u5185\u7f6e\">itertools\u6a21\u5757\uff08\u5185\u7f6e\uff09<\/h2>\n\n\n\n<p><strong>\u4e3b\u8981\u7528\u9014<\/strong>\uff1a\u751f\u6210\u6392\u5217\u7ec4\u5408\uff0c\u7528\u4e8e\u5bc6\u7801\u7206\u7834<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    itertools.product(*iterables)\uff1a\u7b1b\u5361\u5c14\u79ef\uff08\u591a\u5faa\u73af\u5d4c\u5957\uff09\n    itertools.permutations(iterable)\uff1a\u6392\u5217\n    itertools.combinations(iterable, r)\uff1a\u7ec4\u5408<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Pillow\uff08PIL\uff09\u5e93(\u56fe\u7247\u8bc6\u522b) \u4e3b\u8981\u7528\u9014\uff1a\u56fe\u7247\u8bfb\u53d6\u3001\u50cf\u7d20\u64cd\u4f5c\u3001\u901a\u9053\u5206\u79bb\u3001GIF\u5e27\u5904\u7406 pyzbar\u5e93\uff08\u4e8c\u7ef4\u7801\u8bc6\u522b\uff09 \u4e3b\u8981\u7528\u9014 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_gspb_post_css":"","emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[11],"tags":[],"class_list":["post-500","post","type-post","status-publish","format-standard","hentry","category-11"],"_links":{"self":[{"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/posts\/500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/comments?post=500"}],"version-history":[{"count":7,"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/posts\/500\/revisions"}],"predecessor-version":[{"id":513,"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/posts\/500\/revisions\/513"}],"wp:attachment":[{"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/media?parent=500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/categories?post=500"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/shr1mp.top\/index.php\/wp-json\/wp\/v2\/tags?post=500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}