{"id":5125,"date":"2022-09-30T04:04:20","date_gmt":"2022-09-30T04:04:20","guid":{"rendered":"https:\/\/www.pythontutorial.net\/?page_id=5125"},"modified":"2025-03-27T10:20:58","modified_gmt":"2025-03-27T10:20:58","slug":"python-path","status":"publish","type":"page","link":"https:\/\/www.pythontutorial.net\/python-standard-library\/python-path\/","title":{"rendered":"Python Path"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you&#8217;ll learn how to use the Python Path class from the pathlib module to interact with the file system across platforms easily and effectively.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='introduction-to-the-python-path-class'>Introduction to the Python Path class <a href=\"#introduction-to-the-python-path-class\" class=\"anchor\" id=\"introduction-to-the-python-path-class\" title=\"Anchor for Introduction to the Python Path class\">#<\/a><\/h2>\n\n\n\n<p>The <code>pathlib<\/code> is a built-in module that allows you to interact with the file system more effectively. In addition, the <code>pathlib<\/code> works across operating systems including Windows, macOS and Linux.<\/p>\n\n\n\n<p>The <code>pathlib<\/code> treats the paths as objects. So instead of using paths as strings, you use the <code>Path<\/code> class to manage paths.<\/p>\n\n\n\n<p>To use the <code>Path<\/code> class from the <code>pathlib<\/code> module, you <a href=\"https:\/\/www.pythontutorial.net\/python-oop\/python-import\/\">import<\/a> it as follows:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='getting-the-path-of-the-home-directory'>Getting the path of the home directory  <a href=\"#getting-the-path-of-the-home-directory\" class=\"anchor\" id=\"getting-the-path-of-the-home-directory\" title=\"Anchor for Getting the path of the home directory \">#<\/a><\/h3>\n\n\n\n<p>Since <code>Path<\/code> is a class, you can access its methods and properies. For example, you can get the path of the home directory by calling the <code>home()<\/code> static method like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\nhome = Path.home()\nprint(home)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>On Windows, it returns something like:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">C:\\Users\\root<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>On Linux, it returns the home directory of the current user:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">\/home\/root<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>&#8230;with an assumption that the <code>root<\/code> is the user on both Windows and Linux.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id='getting-the-path-of-the-current-working-directory'>Getting the path of the current working directory <a href=\"#getting-the-path-of-the-current-working-directory\" class=\"anchor\" id=\"getting-the-path-of-the-current-working-directory\" title=\"Anchor for Getting the path of the current working directory\">#<\/a><\/h3>\n\n\n\n<p>Similarly, you can call the <code>cwd()<\/code> static method to get the path of the current working directory:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\ncwd = Path.cwd()\nprint(cwd)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">D:\\demo\\pathlib<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='creating-a-path-object-from-a-string'>Creating a Path object from a string <a href=\"#creating-a-path-object-from-a-string\" class=\"anchor\" id=\"creating-a-path-object-from-a-string\" title=\"Anchor for Creating a Path object from a string\">#<\/a><\/h3>\n\n\n\n<p>To create a <code>Path<\/code> object, you can pass a string to the <code>Path()<\/code> like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'readme.txt'<\/span>)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='getting-the-parent-directory-of-a-path'>Getting the parent directory of a path <a href=\"#getting-the-parent-directory-of-a-path\" class=\"anchor\" id=\"getting-the-parent-directory-of-a-path\" title=\"Anchor for Getting the parent directory of a path\">#<\/a><\/h3>\n\n\n\n<p>To get the first parent directory path of the current working directory by accessing the parent property like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'D:\/home\/root\/projects\/project_a\/tests'<\/span>)\nprint(path.parent)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">D:\\home\\root\\projects\\project_a<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To get the path of the n<sup>th<\/sup> parent directory, you can use the parents property:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'D:\/home\/root\/projects\/project_a\/tests'<\/span>)\nprint(path.parents&#91;<span class=\"hljs-number\">3<\/span>])<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">D:\\home<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='joining-paths'>Joining paths <a href=\"#joining-paths\" class=\"anchor\" id=\"joining-paths\" title=\"Anchor for Joining paths\">#<\/a><\/h3>\n\n\n\n<p>To join paths, you use the <code>\/<\/code> operator. For example, the get the path of the <code>Downloads<\/code> directory located inside the home directory, you can use the <code>\/<\/code> operator as follows:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path.home() \/ <span class=\"hljs-string\">'Downloads'<\/span>\nprint(path)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">C:\\Users\\root\\Downloads<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The <code>\/<\/code> operator returns a new <code>Path<\/code> object. Therefore, you can use it multiple times in an expression. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path.home() \/ <span class=\"hljs-string\">'Downloads'<\/span> \/ <span class=\"hljs-string\">'Documents'<\/span>\nprint(path)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">C:\\Users\\root\\Downloads\\Documents<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='checking-if-a-path-exists'>Checking if a path exists <a href=\"#checking-if-a-path-exists\" class=\"anchor\" id=\"checking-if-a-path-exists\" title=\"Anchor for Checking if a path exists\">#<\/a><\/h3>\n\n\n\n<p>A path can be a file or a directory, to check if a path exists, you can use the <code>exists()<\/code> method. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'readme.txt'<\/span>)\nprint(path.exists())<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The <code>exists()<\/code> method returns <code>True<\/code> if the path exists or <code>False<\/code> otherwise.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id='resolving-a-path'>Resolving a path <a href=\"#resolving-a-path\" class=\"anchor\" id=\"resolving-a-path\" title=\"Anchor for Resolving a path\">#<\/a><\/h3>\n\n\n\n<p>To get the full path of a <code>Path<\/code> object, you use the <code>resolve()<\/code> method. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'readme.txt'<\/span>)\nfull_path = path.resolve()\n\nprint(full_path)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-18\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">D:\\demo\\path\\readme.txt<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-18\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='getting-file-name-and-extension'>Getting file name and extension <a href=\"#getting-file-name-and-extension\" class=\"anchor\" id=\"getting-file-name-and-extension\" title=\"Anchor for Getting file name and extension\">#<\/a><\/h3>\n\n\n\n<p>To get the file name of a path, you use the <code>name<\/code> property:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-19\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'readme.txt'<\/span>)\nprint(path.name)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-19\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-20\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">readme.txt<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-20\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To get the file name without extension, you use the <code>stem<\/code> property:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-21\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'readme.txt'<\/span>)\n\nprint(path.stem)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-21\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-22\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">readme<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-22\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To get the extension of the file, you use the <code>suffix<\/code> property:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-23\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'readme.txt'<\/span>)\nprint(path.suffix)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-23\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-24\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\">.txt<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-24\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='checking-if-a-path-is-file-or-directory'>Checking if a path is file or directory <a href=\"#checking-if-a-path-is-file-or-directory\" class=\"anchor\" id=\"checking-if-a-path-is-file-or-directory\" title=\"Anchor for Checking if a path is file or directory\">#<\/a><\/h3>\n\n\n\n<p>The <code>is_file()<\/code> method returns <code>True<\/code> if a path is a file or <code>False<\/code> otherwise. Likewise, the <code>is_dir()<\/code> reuturns <code>True<\/code> if a path is a directory  or <code>False<\/code> otherwse.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-25\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\npath = Path(<span class=\"hljs-string\">'readme.txt'<\/span>)\nprint(path.is_file())  <span class=\"hljs-comment\"># True<\/span>\n\npath = Path.cwd()\nprint(path.is_dir())  <span class=\"hljs-comment\"># True<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-25\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id='using-python-path-to-interact-with-files'>Using Python Path to interact with files <a href=\"#using-python-path-to-interact-with-files\" class=\"anchor\" id=\"using-python-path-to-interact-with-files\" title=\"Anchor for Using Python Path to interact with files\">#<\/a><\/h2>\n\n\n\n<p>The Path objet allows you to create, rename, and delete files.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id='creating-a-file'>Creating a file <a href=\"#creating-a-file\" class=\"anchor\" id=\"creating-a-file\" title=\"Anchor for Creating a file\">#<\/a><\/h3>\n\n\n\n<p>To create a file, you use the <code>touch()<\/code> method. For example, the following creates the <code>readme.md<\/code> file in the current working directory:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-26\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'notes.md'<\/span>)\npath.touch()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-26\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To write text to a file, you use the <code>write_text()<\/code> method:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-27\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'notes.md'<\/span>)\npath.touch()\npath.write_text(<span class=\"hljs-string\">'# Path is awesome'<\/span>)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-27\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Note that you can also create a binary file and write bytes to it using the <code>write_bytes()<\/code> method.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id='deleting-a-file'>Deleting a file <a href=\"#deleting-a-file\" class=\"anchor\" id=\"deleting-a-file\" title=\"Anchor for Deleting a file\">#<\/a><\/h3>\n\n\n\n<p>To delete a file, you use the <code>unlink()<\/code> method:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-28\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'notes.md'<\/span>)\npath.unlink()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-28\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>If the path doesn&#8217;t exist, the <code>unlink()<\/code> method will raise a <code>FileNotFoundError<\/code> exception. To avoid this, you can use the <code>missing_ok<\/code> argument:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-29\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\npath = Path(<span class=\"hljs-string\">'notes.md'<\/span>)\npath.unlink(missing_ok=<span class=\"hljs-literal\">True<\/span>)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-29\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='renaming-a-file'>Renaming a file <a href=\"#renaming-a-file\" class=\"anchor\" id=\"renaming-a-file\" title=\"Anchor for Renaming a file\">#<\/a><\/h3>\n\n\n\n<p>To rename a file, you use the <code>rename()<\/code> method. The following example creates the <code>notes.md<\/code> file, write a text into it, and rename its name to <code>notes.txt<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-30\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n<span class=\"hljs-comment\"># create the notes.md<\/span>\npath = Path(<span class=\"hljs-string\">'notes.md'<\/span>)\npath.touch()\npath.write_text(<span class=\"hljs-string\">'My notes'<\/span>)\n\n<span class=\"hljs-comment\"># rename nodes.md to notes.txt<\/span>\npath.rename(<span class=\"hljs-string\">'notes.txt'<\/span>)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-30\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='listing-files-in-a-directory'>Listing files in a directory <a href=\"#listing-files-in-a-directory\" class=\"anchor\" id=\"listing-files-in-a-directory\" title=\"Anchor for Listing files in a directory\">#<\/a><\/h3>\n\n\n\n<p>The <code>iterdir()<\/code> method iterates over a directory. It returns a generator that yields the paths including both a path of a file or a directory. <\/p>\n\n\n\n<p>To list all files in a directory, you can combine the <code>iterdir()<\/code> method with <code>is_file()<\/code> method. For example, the following lists all files in the downloads directory located inside the home directory:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-31\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\ndownload_path = Path.home() \/ <span class=\"hljs-string\">'downloads'<\/span>\n<span class=\"hljs-keyword\">for<\/span> path <span class=\"hljs-keyword\">in<\/span> download_path.iterdir():\n    <span class=\"hljs-keyword\">if<\/span> path.is_file():\n        print(path)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-31\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>If you want to get a particular file type, you can use the suffix property. For example, the following lists all text files from the downloads directory:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-32\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\ndownload_path = Path.home() \/ <span class=\"hljs-string\">'downloads'<\/span>\n\n<span class=\"hljs-keyword\">for<\/span> path <span class=\"hljs-keyword\">in<\/span> download_path.iterdir():\n    <span class=\"hljs-keyword\">if<\/span> path.is_file() <span class=\"hljs-keyword\">and<\/span> path.suffix == <span class=\"hljs-string\">'.txt'<\/span>:\n        print(path)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-32\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Or in a more pythonic way using a list comprehension:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-33\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\ndownload_path = Path.home() \/ <span class=\"hljs-string\">'downloads'<\/span>\n\nfile_paths = &#91;path <span class=\"hljs-keyword\">for<\/span> path <span class=\"hljs-keyword\">in<\/span> download_path.iterdir()\n              <span class=\"hljs-keyword\">if<\/span> path.is_file() <span class=\"hljs-keyword\">and<\/span> path.suffix == <span class=\"hljs-string\">'.txt'<\/span>]\nprint(file_paths)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-33\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id='using-python-path-to-interact-with-directories'>Using Python Path to interact with directories <a href=\"#using-python-path-to-interact-with-directories\" class=\"anchor\" id=\"using-python-path-to-interact-with-directories\" title=\"Anchor for Using Python Path to interact with directories\">#<\/a><\/h2>\n\n\n\n<p>Like files, the Path also allows you to create, rename, and remove directories.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id='creating-a-directory'>Creating a directory <a href=\"#creating-a-directory\" class=\"anchor\" id=\"creating-a-directory\" title=\"Anchor for Creating a directory\">#<\/a><\/h3>\n\n\n\n<p>To create a directory, you use the <code>mkdir()<\/code> method. The following example creates a test directory in the current working directory:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-34\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\npath = Path(<span class=\"hljs-string\">'test'<\/span>)\npath.mkdir()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-34\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>If the test directory exists, the <code>mkdir()<\/code> method will raise the <code>FileExistsError<\/code> exception. To avoid the exception if the directory already exists, you can use the <code>exist_ok<\/code> argument:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-35\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\npath = Path(<span class=\"hljs-string\">'test'<\/span>)\npath.mkdir(exist_ok=<span class=\"hljs-literal\">True<\/span>)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-35\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='renaming-a-directory'>Renaming a directory <a href=\"#renaming-a-directory\" class=\"anchor\" id=\"renaming-a-directory\" title=\"Anchor for Renaming a directory\">#<\/a><\/h3>\n\n\n\n<p>To rename a directory, you use the <code>rename()<\/code> method. For example, the following renames the directory test to tests (with additional <code>s<\/code>):<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-36\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\npath = Path(<span class=\"hljs-string\">'test'<\/span>)\npath.rename(<span class=\"hljs-string\">'tests'<\/span>)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-36\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='deleting-a-directory'>Deleting a directory <a href=\"#deleting-a-directory\" class=\"anchor\" id=\"deleting-a-directory\" title=\"Anchor for Deleting a directory\">#<\/a><\/h3>\n\n\n\n<p>To delete a directory, you use the <code>rmdir()<\/code> method. Note that the directory must be empty:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-37\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\npath = Path(<span class=\"hljs-string\">'tests'<\/span>)\npath.rmdir()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-37\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>If the directory doesn&#8217;t exist, the <code><code>rmdir()<\/code><\/code> method will raise a <code>FileNotFoundErorr<\/code> exception. To avoid this, you can check if the directory exists before calling the <code><code>rmdir()<\/code><\/code> method:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-38\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\npath = Path(<span class=\"hljs-string\">'tests'<\/span>)\n\n<span class=\"hljs-keyword\">if<\/span> path.exists():\n    path.rmdir()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-38\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id='listing-subdirectories'>Listing subdirectories <a href=\"#listing-subdirectories\" class=\"anchor\" id=\"listing-subdirectories\" title=\"Anchor for Listing subdirectories\">#<\/a><\/h3>\n\n\n\n<p>To list all subdirectories of a path, you use the <code>iterdir()<\/code> and <code>is_dir()<\/code> methods. For example, the following lists all subdirectories of the downloads path:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-39\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\ndownload_path = Path.home() \/ <span class=\"hljs-string\">'downloads'<\/span>\n\n<span class=\"hljs-keyword\">for<\/span> path <span class=\"hljs-keyword\">in<\/span> download_path.iterdir():\n    <span class=\"hljs-keyword\">if<\/span> path.is_dir():\n        print(path)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-39\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Or in a more pythonic way using a list comprehension:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-40\" data-shcb-language-name=\"Python\" data-shcb-language-slug=\"python\"><span><code class=\"hljs language-python\"><span class=\"hljs-keyword\">from<\/span> pathlib <span class=\"hljs-keyword\">import<\/span> Path\n\n\ndownload_path = Path.home() \/ <span class=\"hljs-string\">'downloads'<\/span>\n\npaths = &#91;path <span class=\"hljs-keyword\">for<\/span> path <span class=\"hljs-keyword\">in<\/span> download_path.iterdir() <span class=\"hljs-keyword\">if<\/span> path.is_dir()]\nprint(paths)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-40\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Python<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">python<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id='summary'>Summary <a href=\"#summary\" class=\"anchor\" id=\"summary\" title=\"Anchor for Summary\">#<\/a><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Description<\/th><th>Methods \/ Properties<\/th><\/tr><\/thead><tbody><tr><td>Create a new Path object from a string<\/td><td><code>Path('path\/to\/file\/or\/directory\/')<\/code><\/td><\/tr><tr><td>Join paths using the <code>\/<\/code> operator<\/td><td><code>path = path1 \/ path2 \/ 'my_dir' \/ 'my_file.txt'<\/code><\/td><\/tr><tr><td>Get the path of the home directory<\/td><td><code><code>Path.home<\/code>()<\/code><\/td><\/tr><tr><td>Get the path of the current working directory <\/td><td><code><code>Path.cwd<\/code>()<\/code><\/td><\/tr><tr><td>Get the first parent directory of a path<\/td><td><code>path.parent<\/code><\/td><\/tr><tr><td>Get the nth parent directory of a path<\/td><td><code>path.parents[n]<\/code><\/td><\/tr><tr><td>Return True if a path is a file<\/td><td><code><code>path.is_file<\/code>()<\/code><\/td><\/tr><tr><td>Return True if a path is a directory<\/td><td><code><code>path.is_dir<\/code>()<\/code><\/td><\/tr><tr><td>Return True if a path exists<\/td><td><code><code>path.exists<\/code>()<\/code><\/td><\/tr><tr><td>Create a file<\/td><td><code><code>path.touch<\/code>()<\/code><\/td><\/tr><tr><td>Write text to a file<\/td><td><code>path.write_text(contents)<\/code><\/td><\/tr><tr><td>Write bytes to a file<\/td><td><code>path.write_bytes(bytes)<\/code><\/td><\/tr><tr><td>Rename a file or directory<\/td><td><code>path.rename(target)<\/code><\/td><\/tr><tr><td>Delete a file<\/td><td><code><code>path.unlink<\/code>()<\/code><\/td><\/tr><tr><td>Create a directory<\/td><td><code><code>path.mkdir<\/code>()<\/code><\/td><\/tr><tr><td>Remove a directory<\/td><td><code><code>path.rmdir<\/code>()<\/code><\/td><\/tr><tr><td>List files and\/or directories<\/td><td><code><code>path.iterdir<\/code>()<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Was this tutorial helpful ?<\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"5125\"\n\t\t\t\tdata-post-url=\"https:\/\/www.pythontutorial.net\/python-standard-library\/python-path\/\"\n\t\t\t\tdata-post-title=\"Python Path\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"5125\"\n\t\t\t\tdata-post-url=\"https:\/\/www.pythontutorial.net\/python-standard-library\/python-path\/\"\n\t\t\t\tdata-post-title=\"Python Path\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\t\t\t<input type=\"button\" name=\"wth-submit\" class=\"wth-btn wth-btn-submit\" id=\"wth-submit\" \/>\n\t\t\t<input type=\"button\" class=\"wth-btn wth-btn-cancel\" value=\"Cancel\" \/>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summary: in this tutorial, you&#8217;ll learn how to use the Python Path class from the pathlib module to interact with the file system across platforms easily and effectively. Introduction to the Python Path class # The pathlib is a built-in module that allows you to interact with the file system more effectively. In addition, the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":5122,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5125","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages\/5125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/comments?post=5125"}],"version-history":[{"count":1,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages\/5125\/revisions"}],"predecessor-version":[{"id":7097,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages\/5125\/revisions\/7097"}],"up":[{"embeddable":true,"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/pages\/5122"}],"wp:attachment":[{"href":"https:\/\/www.pythontutorial.net\/wp-json\/wp\/v2\/media?parent=5125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}