{"id":2692,"date":"2024-09-30T20:17:40","date_gmt":"2024-09-30T11:17:40","guid":{"rendered":"https:\/\/secondlife.lol\/?p=2692"},"modified":"2024-09-29T20:54:19","modified_gmt":"2024-09-29T11:54:19","slug":"python-directory-exploration-os-module","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/en\/python-directory-exploration-os-module\/","title":{"rendered":"Dealing with Python Directory Structure: Navigating Files and Folders with OS Modules"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Many beginners feel lost when they first learn Python, wondering how to navigate the directory structure and work with files. However, understanding the Python directory structure and using the <a href=\"https:\/\/docs.python.org\/ko\/3\/library\/os.html\" data-type=\"link\" data-id=\"https:\/\/docs.python.org\/ko\/3\/library\/os.html\" target=\"_blank\" rel=\"noopener\">OS Modules<\/a>makes navigating through files and folders a breeze. In this post, we'll cover the<strong> How to navigate files and directories using OS modules<\/strong>so that you, too, can efficiently handle files and easily manage complex directory structures.<\/p>\n\n\n<style>.kb-image2692_90f2a2-8a .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image2692_90f2a2-8a img.kb-img, .kb-image2692_90f2a2-8a .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image2692_90f2a2-8a\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"300\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-6-1-600x300.jpg\" alt=\"python \ub514\ub809\ud1a0\ub9ac \ud3ec\uc2a4\ud2b8 \uadf8\ub9bc\" class=\"kb-img wp-image-2693\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-6-1-600x300.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-6-1-300x150.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-6-1-768x384.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-6-1.jpg 1056w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">Basics of directory navigation with OS modules<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To work with directory structures in Python, use the <strong>OS Modules<\/strong>The os module is a standard library in Python that allows you to interact with the operating system to handle file and directory-related tasks. Using it, you can easily automate various file and folder operations in your Python programs.<\/p>\n\n\n<style>.kb-image2692_f0465f-99 .kb-image-has-overlay:after{opacity:0.3;}.kb-image2692_f0465f-99 img.kb-img, .kb-image2692_f0465f-99 .kb-img img{box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image2692_f0465f-99\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"397\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-1-600x397.jpg\" alt=\"Python \ub514\ub809\ud1a0\ub9ac \uad6c\uc870 \ub2e4\ub8e8\uae30 \ud3ec\uc2a4\ud2b8 \uadf8\ub9bc2\" class=\"kb-img wp-image-2702\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-1-600x397.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-1-300x199.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-1-768x508.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-1.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Get a directory listing with os.listdir()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OS module's <strong>listdir()<\/strong> function is used to get a list of the files and folders within a directory. It can be used very simply as follows<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import os\n\ndir_path = \"C:\/Users\/user\/Documents\"\nfile_list = os.listdir(dir_path)\nprint(file_list)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The above code creates the specified directory path (<kbd>C:\/Users\/user\/Documents<\/kbd>), which returns a list of all the files and folders in the directory. Because it returns only file names, you can do whatever you need to do with them through subsequent processing. It's important to note that listdir() also includes hidden or system files within the current directory.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Securely joining paths with os.path.join()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When combining file or folder paths, rather than typing path separators directly, <strong>os.path.join()<\/strong>is safe to use. This function will automatically generate the path using the appropriate delimiter based on your operating system.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import os\n\nbase_path = \"C:\/Users\/user\/Documents\"\nfile_name = \"example.txt\"\nfull_path = os.path.join(base_path, file_name)\nprint(full_path)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">When you run the code above, it will output the path where the file is located and the name\/extension of the file. Since different operating systems use different path delimiters, this is a good way to make your code more compatible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Advanced usage of Python directory structure navigation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In addition to getting files within a directory as a list, <strong>OS Modules<\/strong>allows you to easily navigate through multiple directories and subdirectories. This allows you to quickly find the files you want, even in complex directory structures.<\/p>\n\n\n<style>.kb-image2692_442fd8-66 .kb-image-has-overlay:after{opacity:0.3;}.kb-image2692_442fd8-66 img.kb-img, .kb-image2692_442fd8-66 .kb-img img{box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image2692_442fd8-66\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"492\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-2-600x492.jpg\" alt=\"Python \ub514\ub809\ud1a0\ub9ac \uad6c\uc870 \ub2e4\ub8e8\uae30 \ud3ec\uc2a4\ud2b8 \uadf8\ub9bc3\" class=\"kb-img wp-image-2703\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-2-600x492.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-2-300x246.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-2-768x630.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-2.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Explore all directories and files with os.walk()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>os.walk()<\/strong>is useful for traversing a directory tree and navigating through all files and folders. The function returns three values by default: The path to the current directory, a list of folders within that directory, and a list of files. See the code below:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import os\n\nfor dirpath, dirnames, filenames in os.walk(\"C:\/Users\/user\/Documents\"):\n    print(f\"Current directory path: {dirpath}\")\n    print(f\"List of folders: {dirnames}\")\n    print(f\"List of files: {filenames}\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This code traverses all folders and files under a specified path, giving you an idea of the structure of each directory at a glance, which is especially useful when dealing with complex directory structures.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Filter by file extension<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When you have many different kinds of files in a directory, you might want to filter only certain extensions. For example, if you only want to get \".png\" files into the list, you could write code like this<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import os\n\ndir_path = \"C:\/Users\/user\/Documents\"\npng_files = [file for file in os.listdir(dir_path) if file.endswith(\".png\")]\nprint(png_files)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The above code would be called <strong>list comprehension<\/strong>using the <code>.png<\/code>This way, you can select only the file types you want to process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Additional useful functions in OS modules<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In addition to the <strong>OS Modules<\/strong>provides many useful functions for handling files. Let's take a look at some of the main ones.<\/p>\n\n\n<style>.kb-image2692_ff4626-21 .kb-image-has-overlay:after{opacity:0.3;}.kb-image2692_ff4626-21 img.kb-img, .kb-image2692_ff4626-21 .kb-img img{box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image2692_ff4626-21\"><figure class=\"aligncenter size-medium_large\"><img decoding=\"async\" width=\"768\" height=\"283\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-3-768x283.jpg\" alt=\"Python \ub514\ub809\ud1a0\ub9ac \uad6c\uc870 \ub2e4\ub8e8\uae30 \ud3ec\uc2a4\ud2b8 \uadf8\ub9bc4\" class=\"kb-img wp-image-2705\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-3-768x283.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-3-300x111.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-3-600x221.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-3.jpg 1200w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Create directories with os.mkdir() and os.makedirs()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As you work with files, you'll often need to create new directories. <strong>os.mkdir()<\/strong> function is used to create a single directory, <strong>os.makedirs()<\/strong>can create all the necessary directories at once, including parent directories.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import os\n\n# Create a single directory\nos.mkdir(\"C:\/Users\/user\/Documents\/new_folder\")\n\nCreate a # subdirectory containing\nos.makedirs(\"C:\/Users\/user\/Documents\/new_folder\/sub_folder\")<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Deleting files with os.remove()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When you need to delete a file <strong>os.remove()<\/strong> function can be used. However, this function can only delete files, not directories.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import os\n\nfile_path = \"C:\/Users\/user\/Documents\/example.txt\"\nos.remove(file_path)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Deleting directories with os.rmdir() and shutil.rmtree()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To delete a directory <strong>os.rmdir()<\/strong>but this function can only delete empty directories. If there are files inside the directory, the <strong>shutil.rmtree()<\/strong>should be used.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import os\nimport shutil\n\n# Delete an empty directory\nos.rmdir(\"C:\/Users\/user\/Documents\/new_folder\")\n\nDelete directory containing # subfiles\nshutil.rmtree(\"C:\/Users\/user\/Documents\/new_folder\")<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up: A Complete Understanding of Python Directory Navigation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this post, you learned how to navigate directory structures and manipulate files in Python. Using OS modules, you can easily handle a variety of tasks, from navigating directories to creating and deleting files. These basic Python directory navigation skills will help you take on more complex projects in the future.<\/p>\n\n\n<style>.kb-image2692_0f2334-52 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image2692_0f2334-52\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"443\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-4-600x443.jpg\" alt=\"Python \ub514\ub809\ud1a0\ub9ac \uad6c\uc870 \ub2e4\ub8e8\uae30 \ud3ec\uc2a4\ud2b8 \uadf8\ub9bc5\" class=\"kb-img wp-image-2706\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-4-600x443.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-4-300x221.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-4-768x566.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/image-7-4.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">If you're a beginner who wants to work efficiently with Python's directory structure, the above methods will make working with files and directories much easier. What can we do after understanding the above? If you're wondering <a href=\"https:\/\/secondlife.lol\/en\/converting-multiple-images-to-pdf-python\/\">Here<\/a>on the bottom of the page!<\/p>","protected":false},"excerpt":{"rendered":"<p>\ub9ce\uc740 \ucd08\ubcf4\uc790\ub4e4\uc774 Python\uc744 \ucc98\uc74c \ubc30\uc6b0\uba74\uc11c \ub514\ub809\ud1a0\ub9ac \uad6c\uc870\ub97c \uc5b4\ub5bb\uac8c \ud0d0\uc0c9\ud558\uace0 \ud30c\uc77c\uc744&#8230;<\/p>","protected":false},"author":3,"featured_media":2713,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[283,288,284,289,287,286,285],"class_list":["post-2692","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-coding","tag-os-","tag-python--","tag-289","tag-287","tag-286","tag-285"],"taxonomy_info":{"category":[{"value":3,"label":"\ud30c\uc774\uc36c(Python)"}],"post_tag":[{"value":283,"label":"os \ubaa8\ub4c8"},{"value":288,"label":"Python \ub514\ub809\ud1a0\ub9ac \uad6c\uc870"},{"value":284,"label":"Python \ud30c\uc77c \ud0d0\uc0c9"},{"value":289,"label":"\ub514\ub809\ud1a0\ub9ac \uad6c\uc870 \ud0d0\uc0c9"},{"value":287,"label":"\ub514\ub809\ud1a0\ub9ac \ud0d0\uc0c9"},{"value":286,"label":"\ud30c\uc774\uc36c \uae30\ucd08"},{"value":285,"label":"\ud30c\uc77c \ucc98\ub9ac"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/09\/Python-\ub514\ub809\ud1a0\ub9ac-\uad6c\uc870-\ub2e4\ub8e8\uae30-\ud3ec\uc2a4\ud2b8-\uc378\ub124\uc77c-600x600.webp",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/en\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":3,"name":"\ud30c\uc774\uc36c(Python)","slug":"python-coding","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":20,"count":119,"filter":"raw","cat_ID":3,"category_count":119,"category_description":"","cat_name":"\ud30c\uc774\uc36c(Python)","category_nicename":"python-coding","category_parent":20}],"tag_info":[{"term_id":283,"name":"os \ubaa8\ub4c8","slug":"os-%eb%aa%a8%eb%93%88","term_group":0,"term_taxonomy_id":283,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":288,"name":"Python \ub514\ub809\ud1a0\ub9ac \uad6c\uc870","slug":"python-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac-%ea%b5%ac%ec%a1%b0","term_group":0,"term_taxonomy_id":288,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":284,"name":"Python \ud30c\uc77c \ud0d0\uc0c9","slug":"python-%ed%8c%8c%ec%9d%bc-%ed%83%90%ec%83%89","term_group":0,"term_taxonomy_id":284,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":289,"name":"\ub514\ub809\ud1a0\ub9ac \uad6c\uc870 \ud0d0\uc0c9","slug":"%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-%ed%83%90%ec%83%89","term_group":0,"term_taxonomy_id":289,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":287,"name":"\ub514\ub809\ud1a0\ub9ac \ud0d0\uc0c9","slug":"%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac-%ed%83%90%ec%83%89","term_group":0,"term_taxonomy_id":287,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":286,"name":"\ud30c\uc774\uc36c \uae30\ucd08","slug":"%ed%8c%8c%ec%9d%b4%ec%8d%ac-%ea%b8%b0%ec%b4%88","term_group":0,"term_taxonomy_id":286,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":285,"name":"\ud30c\uc77c \ucc98\ub9ac","slug":"%ed%8c%8c%ec%9d%bc-%ec%b2%98%eb%a6%ac","term_group":0,"term_taxonomy_id":285,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/2692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/comments?post=2692"}],"version-history":[{"count":3,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/2692\/revisions"}],"predecessor-version":[{"id":2707,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/2692\/revisions\/2707"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media\/2713"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media?parent=2692"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/categories?post=2692"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/tags?post=2692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}