{"id":23894,"date":"2022-08-19T12:52:06","date_gmt":"2022-08-19T07:22:06","guid":{"rendered":"http:\/\/www.pythonpool.com\/?p=23894"},"modified":"2026-07-13T12:40:54","modified_gmt":"2026-07-13T07:10:54","slug":"numpy-save","status":"publish","type":"post","link":"https:\/\/www.pythonpool.com\/numpy-save\/","title":{"rendered":"NumPy save(): Save and Load Arrays with .npy Files"},"content":{"rendered":"<p><strong>Quick answer:<\/strong> Use np.save(path, array) to write one NumPy array to a .npy file, np.load() to read it back, savez() for several named arrays, and savez_compressed() when archive compression is useful. Treat allow_pickle as a security decision when loading untrusted files.<\/p>\n<figure class=\"pythonpool-article-visual\"><img src=\"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/numpy-save.png\" alt=\"Python Pool infographic comparing NumPy save, load, savez, compressed archives, and CSV export\" width=\"1536\" height=\"1024\" loading=\"lazy\" decoding=\"async\"><figcaption>Use save() for one array in a .npy file, savez() for multiple arrays, and load() with a deliberate allow_pickle policy when reading data.<\/figcaption><\/figure>\n<p><strong><code>numpy.save()<\/code><\/strong> saves one NumPy array to a binary <code>.npy<\/code> file. Use it when you want to preserve an array&#8217;s dtype and shape and load the array back later with <code>numpy.load()<\/code>.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">np.save(\"array.npy\", array)\nloaded = np.load(\"array.npy\")<\/code><\/pre>\n<\/div>\n<p>If you need to save multiple arrays, use <code>np.savez()<\/code> or <code>np.savez_compressed()<\/code>. If you need a human-readable text or CSV file, use <code>np.savetxt()<\/code>.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #990303;color:#990303\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #990303;color:#990303\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Save_and_load_one_NumPy_array\" >Save and load one NumPy array<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#numpysave_syntax\" >numpy.save() syntax<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#File_extension_behavior\" >File extension behavior<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Use_pathlib_paths\" >Use pathlib paths<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Use_allow_pickle_carefully\" >Use allow_pickle carefully<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Save_multiple_arrays_with_savez\" >Save multiple arrays with savez()<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Save_text_or_CSV_output_with_savetxt\" >Save text or CSV output with savetxt()<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Can_you_save_a_Python_dictionary_with_NumPy\" >Can you save a Python dictionary with NumPy?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Common_mistakes\" >Common mistakes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Related_NumPy_guides\" >Related NumPy guides<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Official_references\" >Official references<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Conclusion\" >Conclusion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Save_One_Array_As_npy\" >Save One Array As .npy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Load_And_Validate_The_Array\" >Load And Validate The Array<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Store_Several_Arrays\" >Store Several Arrays<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Choose_Binary_Or_Text_Export\" >Choose Binary Or Text Export<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Treat_Pickle_Loading_As_Trusted-Input_Only\" >Treat Pickle Loading As Trusted-Input Only<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Frequently_Asked_Questions\" >Frequently Asked Questions<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#How_do_I_save_a_NumPy_array_to_a_file\" >How do I save a NumPy array to a file?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#How_do_I_load_a_file_saved_with_npsave\" >How do I load a file saved with np.save()?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#What_is_the_difference_between_save_and_savez\" >What is the difference between save() and savez()?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/#Is_allow_pickle_safe_when_loading_NumPy_files\" >Is allow_pickle safe when loading NumPy files?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Save_and_load_one_NumPy_array\"><\/span>Save and load one NumPy array<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The basic workflow is to create an array, save it with <code>np.save()<\/code>, then read it with <code>np.load()<\/code>.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\narray = np.array([[1, 2, 3], [4, 5, 6]])\nnp.save(\"numbers.npy\", array)\n\nloaded = np.load(\"numbers.npy\")\nprint(loaded)<\/code><\/pre>\n<\/div>\n<p><code>np.save()<\/code> stores the array in NumPy&#8217;s <code>.npy<\/code> format. <code>np.load()<\/code> returns the saved array when you pass the file path back in.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"numpysave_syntax\"><\/span>numpy.save() syntax<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">numpy.save(file, arr, allow_pickle=True)<\/code><\/pre>\n<\/div>\n<ul>\n<li><strong><code>file<\/code>:<\/strong> file name, file object, or <code>pathlib.Path<\/code> where the array should be saved.<\/li>\n<li><strong><code>arr<\/code>:<\/strong> the array-like data to save.<\/li>\n<li><strong><code>allow_pickle<\/code>:<\/strong> controls whether object arrays can be saved with Python pickle.<\/li>\n<\/ul>\n<p>Current NumPy docs list this signature without the older <code>fix_imports<\/code> argument that appeared in older examples. Avoid carrying that stale parameter into new code.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"File_extension_behavior\"><\/span>File extension behavior<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If the file name is a string or <code>Path<\/code> and does not already end with <code>.npy<\/code>, NumPy appends <code>.npy<\/code>.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\nvalues = np.arange(5)\nnp.save(\"values\", values)  # creates values.npy<\/code><\/pre>\n<\/div>\n<p>The code above creates <code>values.npy<\/code>. If you pass an open file object instead, NumPy does not change the file object&#8217;s name.<\/p>\n<p><!-- Python Pool visual layout repair 2026-07-13 --><\/p>\n<figure class=\"pythonpool-article-visual pythonpool-supporting-visual\"><img src=\"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/save-format-b172.png\" alt=\"Python Pool infographic showing NumPy array dtype, shape, metadata, and .npy save format\" width=\"1536\" height=\"1054\" loading=\"lazy\" decoding=\"async\"><figcaption>NPY format: NumPy array dtype, shape, metadata, and .npy save format.<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Use_pathlib_paths\"><\/span>Use pathlib paths<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>np.save()<\/code> accepts <code>pathlib.Path<\/code>, which makes file paths cleaner in scripts and applications.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">from pathlib import Path\nimport numpy as np\n\noutput = Path(\"data\") \/ \"scores.npy\"\noutput.parent.mkdir(exist_ok=True)\n\nscores = np.array([91, 88, 95])\nnp.save(output, scores)<\/code><\/pre>\n<\/div>\n<p>This pattern creates the output directory if needed, then saves <code>scores.npy<\/code> inside it.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Use_allow_pickle_carefully\"><\/span>Use allow_pickle carefully<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>For normal numeric arrays, you can disable pickle when saving and loading. This is safer for data that should not contain Python objects.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\narr = np.array([1, 2, 3])\nnp.save(\"safe-array.npy\", arr, allow_pickle=False)\nloaded = np.load(\"safe-array.npy\", allow_pickle=False)<\/code><\/pre>\n<\/div>\n<p>Pickle can execute code when loading malicious data. NumPy&#8217;s <code>np.load()<\/code> defaults to <code>allow_pickle=False<\/code>, so only enable pickle for files you trust and that genuinely contain object arrays.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Save_multiple_arrays_with_savez\"><\/span>Save multiple arrays with savez()<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>np.save()<\/code> saves one array. To save several arrays in one file, use <code>np.savez()<\/code> with keyword names.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\nx = np.arange(5)\ny = x ** 2\n\nnp.savez(\"arrays.npz\", x=x, y=y)\n\nwith np.load(\"arrays.npz\") as data:\n    print(data.files)\n    print(data[\"x\"])<\/code><\/pre>\n<\/div>\n<p>This creates an <code>.npz<\/code> archive. When you load it, use a context manager so the file descriptor is closed cleanly after reading.<\/p>\n<figure class=\"pythonpool-article-visual pythonpool-supporting-visual\"><img src=\"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/save-save-load-b172.png\" alt=\"Python Pool infographic mapping an array through np.save and np.load to a restored array\" width=\"1536\" height=\"1054\" loading=\"lazy\" decoding=\"async\"><figcaption>Save and load: An array through np.save and np.load to a restored array.<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Save_text_or_CSV_output_with_savetxt\"><\/span>Save text or CSV output with savetxt()<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Use <code>np.savetxt()<\/code> when another tool needs a plain text or CSV file. It is readable, but it does not preserve NumPy metadata as cleanly as <code>.npy<\/code>.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\narray = np.array([[1.5, 2.0], [3.25, 4.75]])\nnp.savetxt(\"numbers.csv\", array, delimiter=\",\", fmt=\"%.2f\")<\/code><\/pre>\n<\/div>\n<p>For array data you plan to reload in Python, prefer <code>.npy<\/code>. For spreadsheets, logs, or manual inspection, use <code>savetxt()<\/code>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Can_you_save_a_Python_dictionary_with_NumPy\"><\/span>Can you save a Python dictionary with NumPy?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You can store a dictionary as an object array, but it requires pickle and should be limited to trusted files.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\nsettings = {\"rows\": 2, \"columns\": 3}\nnp.save(\"settings.npy\", settings, allow_pickle=True)\nloaded = np.load(\"settings.npy\", allow_pickle=True).item()<\/code><\/pre>\n<\/div>\n<p>For general dictionaries, JSON, pickle, SQLite, or a domain-specific file format is often clearer. Use <code>np.save()<\/code> primarily for NumPy arrays.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Common_mistakes\"><\/span>Common mistakes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><strong>Expecting CSV output from <code>np.save()<\/code>:<\/strong> it writes binary <code>.npy<\/code> data, not text.<\/li>\n<li><strong>Forgetting the generated extension:<\/strong> <code>np.save(\"values\", arr)<\/code> creates <code>values.npy<\/code>.<\/li>\n<li><strong>Using pickle for untrusted files:<\/strong> keep <code>allow_pickle=False<\/code> unless you trust the file and need object arrays.<\/li>\n<li><strong>Using <code>np.save()<\/code> for many arrays:<\/strong> use <code>np.savez()<\/code> or <code>np.savez_compressed()<\/code>.<\/li>\n<li><strong>Using text files for large numerical arrays:<\/strong> <code>.npy<\/code> is usually faster and preserves dtype and shape better.<\/li>\n<\/ul>\n<figure class=\"pythonpool-article-visual pythonpool-supporting-visual\"><img src=\"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/save-pickle-b172.png\" alt=\"Python Pool infographic comparing allow_pickle, object arrays, trusted files, and loading choices\" width=\"1536\" height=\"1054\" loading=\"lazy\" decoding=\"async\"><figcaption>Object safety: Allow_pickle, object arrays, trusted files, and loading choices.<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Related_NumPy_guides\"><\/span>Related NumPy guides<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><a href=\"https:\/\/www.pythonpool.com\/numpy-loadtxt\/\">NumPy loadtxt<\/a><\/li>\n<li><a href=\"https:\/\/www.pythonpool.com\/numpy-memmap\/\">NumPy memmap<\/a><\/li>\n<li><a href=\"https:\/\/www.pythonpool.com\/python-gzip\/\">Python gzip<\/a><\/li>\n<li><a href=\"https:\/\/www.pythonpool.com\/string-compression-python\/\">String compression in Python<\/a><\/li>\n<li><a href=\"https:\/\/www.pythonpool.com\/cant-pickle-local-object\/\">Can&#8217;t pickle local object<\/a><\/li>\n<li><a href=\"https:\/\/www.pythonpool.com\/numpy-array-to-pandas-dataframe\/\">Convert NumPy array to Pandas DataFrame<\/a><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Official_references\"><\/span>Official references<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.save.html\" rel=\"noopener\">NumPy documentation: numpy.save<\/a><\/li>\n<li><a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.load.html\" rel=\"noopener\">NumPy documentation: numpy.load<\/a><\/li>\n<li><a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.savez.html\" rel=\"noopener\">NumPy documentation: numpy.savez<\/a><\/li>\n<li><a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.savetxt.html\" rel=\"noopener\">NumPy documentation: numpy.savetxt<\/a><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Use <code>np.save()<\/code> for one array in <code>.npy<\/code> format, <code>np.load()<\/code> to read it back, <code>np.savez()<\/code> for multiple arrays, and <code>np.savetxt()<\/code> for plain text or CSV output. Keep pickle disabled unless you are working with trusted object arrays.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Save_One_Array_As_npy\"><\/span>Save One Array As .npy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The .npy format preserves an array&#8217;s shape, dtype, and data in a NumPy-oriented binary file. Give the path a clear extension and keep the array&#8217;s dtype intentional so a later load does not surprise downstream calculations.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\nvalues = np.array([1, 2, 3], dtype=np.int64)\nnp.save(\"values.npy\", values)\nprint(values)<\/code><\/pre>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Load_And_Validate_The_Array\"><\/span>Load And Validate The Array<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>np.load() returns the stored array. Validate shape, dtype, and expected range at the boundary when files can come from another process or release. Loading successfully proves the file is readable, not that it is the right dataset for the job.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\nloaded = np.load(\"values.npy\", allow_pickle=False)\nif loaded.ndim != 1:\n    raise ValueError(\"expected a one-dimensional array\")\nprint(loaded, loaded.dtype, loaded.shape)<\/code><\/pre>\n<\/div>\n<figure class=\"pythonpool-article-visual pythonpool-supporting-visual\"><img src=\"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/save-check-b172.png\" alt=\"Python Pool infographic testing path names, overwrite, dtype, shape, and round-trip equality\" width=\"1536\" height=\"1054\" loading=\"lazy\" decoding=\"async\"><figcaption>Save checks: Path names, overwrite, dtype, shape, and round-trip equality.<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Store_Several_Arrays\"><\/span>Store Several Arrays<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Use np.savez() for an uncompressed .npz archive containing named arrays, or np.savez_compressed() when the data benefits from compression. Named members make the file contract clearer than relying on positional names such as arr_0.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\ntrain = np.array([1, 2, 3])\ntest = np.array([4, 5])\nnp.savez(\"dataset.npz\", train=train, test=test)\n\nwith np.load(\"dataset.npz\", allow_pickle=False) as archive:\n    print(archive.files)\n    print(archive[\"train\"])<\/code><\/pre>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Choose_Binary_Or_Text_Export\"><\/span>Choose Binary Or Text Export<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Use .npy or .npz when the consumer is NumPy and preserving dtype and shape matters. Use np.savetxt() or a higher-level format such as CSV, Parquet, or a database when people or other tools need to read the data. Text export can lose dtype details and is often larger.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\nvalues = np.array([[1.5, 2.5], [3.5, 4.5]])\nnp.savetxt(\"values.csv\", values, delimiter=\",\", fmt=\"%.2f\")\nprint(np.loadtxt(\"values.csv\", delimiter=\",\"))<\/code><\/pre>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Treat_Pickle_Loading_As_Trusted-Input_Only\"><\/span>Treat Pickle Loading As Trusted-Input Only<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Object arrays require pickle support, but pickle data can execute code while being loaded. Leave allow_pickle=False for ordinary numeric arrays and enable it only for a trusted file when the object dtype is genuinely required.<\/p>\n<div class=\"pythonpool-code-scroll\" style=\"max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<pre><code class=\"language-python\">import numpy as np\n\nvalues = np.array([1, 2, 3])\nnp.save(\"numeric.npy\", values)\nloaded = np.load(\"numeric.npy\", allow_pickle=False)\nprint(loaded)<\/code><\/pre>\n<\/div>\n<p>NumPy&#8217;s official <a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.save.html\">save()<\/a>, <a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.load.html\">load()<\/a>, and <a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.savez.html\">savez()<\/a> references define the file formats and loading options.<\/p>\n<p>For related array file workflows, compare <a href=\"https:\/\/www.pythonpool.com\/numpy-loadtxt\/\">loadtxt()<\/a>, <a href=\"https:\/\/www.pythonpool.com\/numpy-array-tolist\/\">array-to-list conversion<\/a>, and <a href=\"https:\/\/www.pythonpool.com\/numpy-onehot\/\">NumPy encoded arrays<\/a> before selecting binary or text storage.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Frequently_Asked_Questions\"><\/span>Frequently Asked Questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"How_do_I_save_a_NumPy_array_to_a_file\"><\/span>How do I save a NumPy array to a file?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Call np.save(&#8216;array.npy&#8217;, array) to write one array in NumPy&#8217;s .npy format.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_I_load_a_file_saved_with_npsave\"><\/span>How do I load a file saved with np.save()?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Call np.load(&#8216;array.npy&#8217;) and verify the shape and dtype expected by the application.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_is_the_difference_between_save_and_savez\"><\/span>What is the difference between save() and savez()?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>save() writes one array, while savez() stores multiple named arrays in an uncompressed .npz archive; savez_compressed() adds compression.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Is_allow_pickle_safe_when_loading_NumPy_files\"><\/span>Is allow_pickle safe when loading NumPy files?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Pickle can execute arbitrary code when loading untrusted data, so keep allow_pickle=False unless object arrays are required and the source is trusted.<\/p>\n<p><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"How do I save a NumPy array to a file?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Call np.save('array.npy', array) to write one array in NumPy's .npy format.\"}},{\"@type\":\"Question\",\"name\":\"How do I load a file saved with np.save()?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Call np.load('array.npy') and verify the shape and dtype expected by the application.\"}},{\"@type\":\"Question\",\"name\":\"What is the difference between save() and savez()?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"save() writes one array, while savez() stores multiple named arrays in an uncompressed .npz archive; savez_compressed() adds compression.\"}},{\"@type\":\"Question\",\"name\":\"Is allow_pickle safe when loading NumPy files?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Pickle can execute arbitrary code when loading untrusted data, so keep allow_pickle=False unless object arrays are required and the source is trusted.\"}}]}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Use NumPy save() and load() for .npy arrays, savez() archives, object safety, paths, compression, and portable data workflows.<\/p>\n","protected":false},"author":28,"featured_media":32189,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1495],"tags":[5365,5363,5364,5366,5367,5362,5361,5360],"class_list":["post-23894","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-numpy","tag-numpy-save-and-load-array","tag-numpy-save-array","tag-numpy-save-array-to-csv","tag-numpy-save-as-npz","tag-numpy-save-dataframe","tag-numpy-save-image","tag-numpy-save-to-csv","tag-numpy-savetxt","infinite-scroll-item"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.1 (Yoast SEO v28.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>NumPy save(): Save and Load Arrays with .npy Files<\/title>\n<meta name=\"description\" content=\"Use NumPy save() and load() for .npy arrays, savez() archives, object safety, paths, compression, and portable data workflows.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pythonpool.com\/numpy-save\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NumPy save(): Save and Load Arrays with .npy Files\" \/>\n<meta property=\"og:description\" content=\"Use NumPy save() and load() for .npy arrays, savez() archives, object safety, paths, compression, and portable data workflows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pythonpool.com\/numpy-save\/\" \/>\n<meta property=\"og:site_name\" content=\"Python Pool\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-19T07:22:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-13T07:10:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/numpy-save.png\" \/>\n<meta name=\"author\" content=\"Vishnu Venkatesh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Python Pool\" \/>\n<meta name=\"twitter:description\" content=\"Practical Python tutorials, error fixes, code examples, and project guides.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/numpy-save.png\" \/>\n<meta name=\"twitter:creator\" content=\"@pythonpool\" \/>\n<meta name=\"twitter:site\" content=\"@pythonpool\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vishnu Venkatesh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/\"},\"author\":{\"name\":\"Vishnu Venkatesh\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#\\\/schema\\\/person\\\/5e8aa48e7557450d345c829305550688\"},\"headline\":\"NumPy save(): Save and Load Arrays with .npy Files\",\"datePublished\":\"2022-08-19T07:22:06+00:00\",\"dateModified\":\"2026-07-13T07:10:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/\"},\"wordCount\":1017,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pythonpool.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/numpy-save-npy-npz-savetxt.png\",\"keywords\":[\"numpy save and load array\",\"numpy save array\",\"numpy save array to csv\",\"numpy save as npz\",\"numpy save dataframe\",\"numpy save image\",\"numpy save to csv\",\"numpy savetxt\"],\"articleSection\":[\"Numpy\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/\",\"url\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/\",\"name\":\"NumPy save(): Save and Load Arrays with .npy Files\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pythonpool.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/numpy-save-npy-npz-savetxt.png\",\"datePublished\":\"2022-08-19T07:22:06+00:00\",\"dateModified\":\"2026-07-13T07:10:54+00:00\",\"description\":\"Use NumPy save() and load() for .npy arrays, savez() archives, object safety, paths, compression, and portable data workflows.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.pythonpool.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/numpy-save-npy-npz-savetxt.png\",\"contentUrl\":\"https:\\\/\\\/www.pythonpool.com\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/numpy-save-npy-npz-savetxt.png\",\"width\":1350,\"height\":650,\"caption\":\"NumPy save npy npz and savetxt array file formats\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/numpy-save\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pythonpool.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NumPy save(): Save and Load Arrays with .npy Files\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#website\",\"url\":\"https:\\\/\\\/www.pythonpool.com\\\/\",\"name\":\"Python Pool\",\"description\":\"Practical Python tutorials, error fixes, code examples, and project guides.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.pythonpool.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#organization\",\"name\":\"Python Pool\",\"url\":\"https:\\\/\\\/www.pythonpool.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.pythonpool.com\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/aa.png\",\"contentUrl\":\"https:\\\/\\\/www.pythonpool.com\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/aa.png\",\"width\":452,\"height\":185,\"caption\":\"Python Pool\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/pythonpool\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/pythonpool\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.pythonpool.com\\\/#\\\/schema\\\/person\\\/5e8aa48e7557450d345c829305550688\",\"name\":\"Vishnu Venkatesh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8d399a4488a19871b08a11ebd884e233b04c76d12edc4c7278a79d69df853d75?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8d399a4488a19871b08a11ebd884e233b04c76d12edc4c7278a79d69df853d75?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8d399a4488a19871b08a11ebd884e233b04c76d12edc4c7278a79d69df853d75?s=96&d=wavatar&r=g\",\"caption\":\"Vishnu Venkatesh\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"NumPy save(): Save and Load Arrays with .npy Files","description":"Use NumPy save() and load() for .npy arrays, savez() archives, object safety, paths, compression, and portable data workflows.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pythonpool.com\/numpy-save\/","og_locale":"en_US","og_type":"article","og_title":"NumPy save(): Save and Load Arrays with .npy Files","og_description":"Use NumPy save() and load() for .npy arrays, savez() archives, object safety, paths, compression, and portable data workflows.","og_url":"https:\/\/www.pythonpool.com\/numpy-save\/","og_site_name":"Python Pool","article_published_time":"2022-08-19T07:22:06+00:00","article_modified_time":"2026-07-13T07:10:54+00:00","og_image":[{"url":"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/numpy-save.png","type":"","width":"","height":""}],"author":"Vishnu Venkatesh","twitter_card":"summary_large_image","twitter_title":"Python Pool","twitter_description":"Practical Python tutorials, error fixes, code examples, and project guides.","twitter_image":"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2026\/07\/numpy-save.png","twitter_creator":"@pythonpool","twitter_site":"@pythonpool","twitter_misc":{"Written by":"Vishnu Venkatesh","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pythonpool.com\/numpy-save\/#article","isPartOf":{"@id":"https:\/\/www.pythonpool.com\/numpy-save\/"},"author":{"name":"Vishnu Venkatesh","@id":"https:\/\/www.pythonpool.com\/#\/schema\/person\/5e8aa48e7557450d345c829305550688"},"headline":"NumPy save(): Save and Load Arrays with .npy Files","datePublished":"2022-08-19T07:22:06+00:00","dateModified":"2026-07-13T07:10:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pythonpool.com\/numpy-save\/"},"wordCount":1017,"commentCount":0,"publisher":{"@id":"https:\/\/www.pythonpool.com\/#organization"},"image":{"@id":"https:\/\/www.pythonpool.com\/numpy-save\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2022\/08\/numpy-save-npy-npz-savetxt.png","keywords":["numpy save and load array","numpy save array","numpy save array to csv","numpy save as npz","numpy save dataframe","numpy save image","numpy save to csv","numpy savetxt"],"articleSection":["Numpy"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pythonpool.com\/numpy-save\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pythonpool.com\/numpy-save\/","url":"https:\/\/www.pythonpool.com\/numpy-save\/","name":"NumPy save(): Save and Load Arrays with .npy Files","isPartOf":{"@id":"https:\/\/www.pythonpool.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pythonpool.com\/numpy-save\/#primaryimage"},"image":{"@id":"https:\/\/www.pythonpool.com\/numpy-save\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2022\/08\/numpy-save-npy-npz-savetxt.png","datePublished":"2022-08-19T07:22:06+00:00","dateModified":"2026-07-13T07:10:54+00:00","description":"Use NumPy save() and load() for .npy arrays, savez() archives, object safety, paths, compression, and portable data workflows.","breadcrumb":{"@id":"https:\/\/www.pythonpool.com\/numpy-save\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pythonpool.com\/numpy-save\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pythonpool.com\/numpy-save\/#primaryimage","url":"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2022\/08\/numpy-save-npy-npz-savetxt.png","contentUrl":"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2022\/08\/numpy-save-npy-npz-savetxt.png","width":1350,"height":650,"caption":"NumPy save npy npz and savetxt array file formats"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pythonpool.com\/numpy-save\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pythonpool.com\/"},{"@type":"ListItem","position":2,"name":"NumPy save(): Save and Load Arrays with .npy Files"}]},{"@type":"WebSite","@id":"https:\/\/www.pythonpool.com\/#website","url":"https:\/\/www.pythonpool.com\/","name":"Python Pool","description":"Practical Python tutorials, error fixes, code examples, and project guides.","publisher":{"@id":"https:\/\/www.pythonpool.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pythonpool.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.pythonpool.com\/#organization","name":"Python Pool","url":"https:\/\/www.pythonpool.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pythonpool.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2020\/08\/aa.png","contentUrl":"https:\/\/www.pythonpool.com\/wp-content\/uploads\/2020\/08\/aa.png","width":452,"height":185,"caption":"Python Pool"},"image":{"@id":"https:\/\/www.pythonpool.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/pythonpool","https:\/\/www.youtube.com\/c\/pythonpool"]},{"@type":"Person","@id":"https:\/\/www.pythonpool.com\/#\/schema\/person\/5e8aa48e7557450d345c829305550688","name":"Vishnu Venkatesh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8d399a4488a19871b08a11ebd884e233b04c76d12edc4c7278a79d69df853d75?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8d399a4488a19871b08a11ebd884e233b04c76d12edc4c7278a79d69df853d75?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d399a4488a19871b08a11ebd884e233b04c76d12edc4c7278a79d69df853d75?s=96&d=wavatar&r=g","caption":"Vishnu Venkatesh"}}]}},"_links":{"self":[{"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/posts\/23894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/comments?post=23894"}],"version-history":[{"count":32,"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/posts\/23894\/revisions"}],"predecessor-version":[{"id":41908,"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/posts\/23894\/revisions\/41908"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/media\/32189"}],"wp:attachment":[{"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/media?parent=23894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/categories?post=23894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pythonpool.com\/wp-json\/wp\/v2\/tags?post=23894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}