{"id":20188,"date":"2020-11-23T23:16:34","date_gmt":"2020-11-24T07:16:34","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=20188"},"modified":"2023-12-01T04:04:54","modified_gmt":"2023-12-01T12:04:54","slug":"python-os-path-join","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/","title":{"rendered":"Python os.path.join: A Beginner\u2019s Guide"},"content":{"rendered":"\n<p><em>The Python os.path.join method combines one or more path names into a single path. This method is often used with os methods like os.walk() to create the final path for a file or folder. os.path.join() automatically adds any required forward slashes into a file path name.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Use Python os.path.join<\/h2>\n\n\n\n<p>You may have gotten caught up in a path labyrinth when you\u2019re <a href=\"https:\/\/careerkarma.com\/blog\/python-read-file\/\">working with files in Python<\/a>.\n\n<\/p>\n\n\n\n<p>To work with files, you need to <a href=\"https:\/\/careerkarma.com\/blog\/python-list-files-in-directory\/\">specify the directory<\/a> in which a file appears. This is easier than it sounds. If you don\u2019t specify the right path, your program will not work.\n\n<\/p>\n\n\n\n<p>In this guide, we\u2019re going to talk about os.path.join. This is a method that combines components of a file path into a complete path. We\u2019ll walk through two examples to help you get started with this method.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is in a File Path?<\/h2>\n\n\n\n<p>A file path is a sequence of file and folder names. This sequence of names takes you to a certain place on your computer\u2019s operating system (OS).<\/p>\n\n\n\n<p>Let\u2019s take the following path as an example:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>\/Users\/James\/tutorials<\/pre><\/div>\n\n\n\n<p>This path takes us to a folder called \u201ctutorials\u201d. If we wanted to access a particular file or directory in this folder, we could point to it using its file name:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>\/Users\/James\/tutorials\/README.md<\/pre><\/div>\n\n\n\n<p>You can write these file paths manually in Python. Doing so can be impractical. That\u2019s where os.path.join comes in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Python os.path.join?<\/h2>\n\n\n\n<p>os.path.join combines path names into one complete path. This means that you can merge multiple parts of a path into one, instead of hard-coding every path name manually.<\/p>\n\n\n\n<p>To use this function, you need to <a href=\"https:\/\/careerkarma.com\/blog\/python-import\/\">import the os library<\/a> into your code:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>import os<\/pre><\/div>\n\n\n\n<p>Let&#8217;s take a look at the syntax of the os.path.join() method. The os.path.join function accepts a list of paths that you want to merge into one:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>os.path.join(path1, path2...)<\/pre><\/div>\n\n\n\n<p>path1, path2, and all subsequent values represent the paths you want to combine into a single name.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>path = os.path.join(&quot;\/Users\/James\/tutorials&quot;, &quot;index.html&quot;)\nprint(path)<\/pre><\/div>\n\n\n\n<p>This code returns: \/Users\/James\/tutorials\/index.html. The os.path.join method continues from the absolute path component we have specified (\u201c\/Users\/James\/tutorials\u201d). We add index.html to the end of the path.<\/p>\n\n\n\n<p>Handily, the os.path.join method inserts forward slashes (which are called \u201cdirectory separators\u201d) when they are needed. This makes it a more convenient way of combining file path names than manually concatenating them.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">os.path.join Python Example<\/h3>\n\n\n\n<p>Let\u2019s write combine the file name \u201cindex.html\u201d in the folder \u201ctutorials\/web\/\u201d. This file is inside our current working directory.\n\n<\/p>\n\n\n\n<p>We\u2019ll start by importing the os library:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>import os<\/pre><\/div>\n\n\n\n<p>Next, we are going to get our current working directory so that we can add our file path name to it:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>cwd = os.getcwd()<\/pre><\/div>\n\n\n\n<p>This returns our current working directory, which is \/Users\/James\/tutorials. The \u201ctutorials\u201d folder is inside our user\u2019s home directory. We can use this information to add \u201ctutorials\/web\u201d to the end of our working directory:\n<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>web_tutorials = os.path.join(cwd, &quot;tutorials\/web&quot;)\nprint(web_tutorials)<\/pre><\/div>\n\n\n\n<p>This code returns: \/Users\/James\/tutorials\/web. Our code has combined our path name components into one. A forward slash (\u201c\/\u201d) has been added between our path names. This path refers to the &#8220;web&#8221; folder in our existing path. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Python os.path.join: List Files<\/h2>\n\n\n\n<p>Let\u2019s use the os.path.join method to return the full file paths of all the files in a folder. We\u2019re going to list all the files in the \u201cDesktop\u201d folder on our file system. This folder is located in the &#8220;\/Users\/James\/&#8221; directory on the drive.\n\n<\/p>\n\n\n\n<p>We\u2019ll start by importing the os library and defining the directory that we want to search:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>import os\n\ncwd = os.getcwd()\ndesktop = os.path.join(cwd, &quot;Desktop&quot;)<\/pre><\/div>\n\n\n\n<p>This code generates the file path for the Desktop folder relative to our current working directory. Next, we can use the <a href=\"https:\/\/careerkarma.com\/blog\/python-list-files-in-directory\/\">Python os.listdir() method<\/a> to retrieve a list of all the files in this folder:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>files = os.listdir(desktop)<\/pre><\/div>\n\n\n\n<p>This method returns a list of the names of all files that appear in the Desktop folder. It does not include the paths of the files. Now that we have this list of files, we can print them all to the console. We\u2019re going to print the full file path for each file using os.path.join and a <a href=\"https:\/\/careerkarma.com\/blog\/python-for-loop\/\">Python for loop<\/a>:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>for f in files:\n\tprint(os.path.join(desktop, f))<\/pre><\/div>\n\n\n\n<p>This code loops through all the files in the Desktop folder. It merges the name of each file with the path name of the Desktop folder. Our code returns:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>\/Users\/James\/Desktop\/.DS_Store\n\/Users\/James\/Desktop\/Notes.md\n\/Users\/James\/Desktop\/To-dos.md<\/pre><\/div>\n\n\n\n<p>There are three files on my desktop: .DS_Store, Notes.md, and To-dos.md. We used <em>os.path.join()<\/em> to generate the full paths of each file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The os.path.join method combines components in a path name to create a full path name.\n\n<\/p>\n\n\n\n<p>This method makes it easy to combine two or more components of a path name. Os.path.join automatically inserts forward slashes (\u201c\/\u201d) into the path name when needed.<\/p>\n\n\n\n<p>If you want to learn more about the Python programming language, check out our <a href=\"https:\/\/careerkarma.com\/blog\/how-to-learn-python\/\">How to Learn Python guide<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"The Python os.path.join method combines one or more path names into a single path. This method is often used with os methods like os.walk() to create the final path for a file or folder. os.path.join() automatically adds any required forward slashes into a file path name. How to Use Python os.path.join You may have gotten&hellip;","protected":false},"author":240,"featured_media":20189,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-20188","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-python"},"acf":{"post_sub_title":"","sprint_id":"","query_class":"Python","school_sft":"","parent_sft":"","school_privacy_policy":"","has_review":null,"is_sponser_post":"","is_guest_post":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Python os.path.join: A Beginner\u2019s Guide | Career Karma<\/title>\n<meta name=\"description\" content=\"The os.path.join method merges and combines multiple components of a file path into one path. On Career Karma, learn how to use the Python os.path.join method.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python os.path.join: A Beginner\u2019s Guide\" \/>\n<meta property=\"og:description\" content=\"The os.path.join method merges and combines multiple components of a file path into one path. On Career Karma, learn how to use the Python os.path.join method.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/\" \/>\n<meta property=\"og:site_name\" content=\"Career Karma\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/careerkarmaapp\" \/>\n<meta property=\"article:published_time\" content=\"2020-11-24T07:16:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T12:04:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"James Gallagher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@career_karma\" \/>\n<meta name=\"twitter:site\" content=\"@career_karma\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James Gallagher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python os.path.join: A Beginner\u2019s Guide\",\"datePublished\":\"2020-11-24T07:16:34+00:00\",\"dateModified\":\"2023-12-01T12:04:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/\"},\"wordCount\":845,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/\",\"name\":\"Python os.path.join: A Beginner\u2019s Guide | Career Karma\",\"isPartOf\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg\",\"datePublished\":\"2020-11-24T07:16:34+00:00\",\"dateModified\":\"2023-12-01T12:04:54+00:00\",\"author\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"The os.path.join method merges and combines multiple components of a file path into one path. On Career Karma, learn how to use the Python os.path.join method.\",\"breadcrumb\":{\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#primaryimage\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg\",\"width\":1020,\"height\":680},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/careerkarma.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/careerkarma.com\/blog\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Python os.path.join: A Beginner\u2019s Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#website\",\"url\":\"https:\/\/careerkarma.com\/blog\/\",\"name\":\"Career Karma\",\"description\":\"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/careerkarma.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94\",\"name\":\"James Gallagher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg\",\"contentUrl\":\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg\",\"caption\":\"James Gallagher\"},\"description\":\"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.\",\"url\":\"https:\/\/careerkarma.com\/blog\/author\/jamesgallagher\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python os.path.join: A Beginner\u2019s Guide | Career Karma","description":"The os.path.join method merges and combines multiple components of a file path into one path. On Career Karma, learn how to use the Python os.path.join method.","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:\/\/careerkarma.com\/blog\/python-os-path-join\/","og_locale":"en_US","og_type":"article","og_title":"Python os.path.join: A Beginner\u2019s Guide","og_description":"The os.path.join method merges and combines multiple components of a file path into one path. On Career Karma, learn how to use the Python os.path.join method.","og_url":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-11-24T07:16:34+00:00","article_modified_time":"2023-12-01T12:04:54+00:00","og_image":[{"width":1020,"height":680,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg","type":"image\/jpeg"}],"author":"James Gallagher","twitter_card":"summary_large_image","twitter_creator":"@career_karma","twitter_site":"@career_karma","twitter_misc":{"Written by":"James Gallagher","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python os.path.join: A Beginner\u2019s Guide","datePublished":"2020-11-24T07:16:34+00:00","dateModified":"2023-12-01T12:04:54+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/"},"wordCount":845,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-os-path-join\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/","url":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/","name":"Python os.path.join: A Beginner\u2019s Guide | Career Karma","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg","datePublished":"2020-11-24T07:16:34+00:00","dateModified":"2023-12-01T12:04:54+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"The os.path.join method merges and combines multiple components of a file path into one path. On Career Karma, learn how to use the Python os.path.join method.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-os-path-join\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/07\/john-salzarulo-Hl1stIQkVRw-unsplash.jpg","width":1020,"height":680},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-os-path-join\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/careerkarma.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/careerkarma.com\/blog\/python\/"},{"@type":"ListItem","position":3,"name":"Python os.path.join: A Beginner\u2019s Guide"}]},{"@type":"WebSite","@id":"https:\/\/careerkarma.com\/blog\/#website","url":"https:\/\/careerkarma.com\/blog\/","name":"Career Karma","description":"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/careerkarma.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94","name":"James Gallagher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","caption":"James Gallagher"},"description":"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.","url":"https:\/\/careerkarma.com\/blog\/author\/jamesgallagher\/"}]}},"_links":{"self":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/20188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/comments?post=20188"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/20188\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/20189"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=20188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=20188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=20188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}