{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import util_make_files\n", "\n", "util_make_files.glob_example_detail()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pathlib\n", "import glob\n", "import re\n", "import pprint" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "p_temp = pathlib.Path('temp')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "temp\n" ] } ], "source": [ "print(p_temp)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(p_temp))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(p_temp.iterdir()))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/[x].txt'),\n", " PosixPath('temp/aaa.text'),\n", " PosixPath('temp/dir'),\n", " PosixPath('temp/1.txt'),\n", " PosixPath('temp/12.text'),\n", " PosixPath('temp/123.txt')]\n" ] } ], "source": [ "pprint.pprint(list(p_temp.iterdir()))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# print(list(pathlib.Path('temp/1.txt').iterdir()))\n", "# NotADirectoryError: [Errno 20] Not a directory: 'temp/1.txt'" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "p_temp = pathlib.Path('temp')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(p_temp.glob('**/*.txt')))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/[x].txt'),\n", " PosixPath('temp/1.txt'),\n", " PosixPath('temp/123.txt'),\n", " PosixPath('temp/dir/bbb.txt'),\n", " PosixPath('temp/dir/sub_dir1/98.txt')]\n" ] } ], "source": [ "pprint.pprint(list(p_temp.glob('**/*.txt')))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/[x].txt'),\n", " PosixPath('temp/aaa.text'),\n", " PosixPath('temp/dir'),\n", " PosixPath('temp/1.txt'),\n", " PosixPath('temp/12.text'),\n", " PosixPath('temp/123.txt')]\n" ] } ], "source": [ "pprint.pprint(list(p_temp.glob('*')))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/dir/sub_dir1/ccc.text'),\n", " PosixPath('temp/dir/sub_dir2/ddd.text')]\n" ] } ], "source": [ "pprint.pprint(list(p_temp.glob('dir/*/*.text')))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/[x].txt'),\n", " PosixPath('temp/aaa.text'),\n", " PosixPath('temp/123.txt')]\n" ] } ], "source": [ "pprint.pprint(list(p_temp.glob('???.*')))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/aaa.text')]\n" ] } ], "source": [ "pprint.pprint(list(p_temp.glob('[a-z][a-z][a-z].*')))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['temp/',\n", " 'temp/[x].txt',\n", " 'temp/aaa.text',\n", " 'temp/dir',\n", " 'temp/dir/sub_dir1',\n", " 'temp/dir/sub_dir1/98.txt',\n", " 'temp/dir/sub_dir1/ccc.text',\n", " 'temp/dir/987.text',\n", " 'temp/dir/bbb.txt',\n", " 'temp/dir/sub_dir2',\n", " 'temp/dir/sub_dir2/ddd.text',\n", " 'temp/1.txt',\n", " 'temp/12.text',\n", " 'temp/123.txt']\n" ] } ], "source": [ "pprint.pprint(glob.glob('temp/**', recursive=True))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp'),\n", " PosixPath('temp/dir'),\n", " PosixPath('temp/dir/sub_dir1'),\n", " PosixPath('temp/dir/sub_dir2')]\n" ] } ], "source": [ "pprint.pprint(list(p_temp.glob('**')))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/[x].txt'),\n", " PosixPath('temp/aaa.text'),\n", " PosixPath('temp/dir'),\n", " PosixPath('temp/1.txt'),\n", " PosixPath('temp/12.text'),\n", " PosixPath('temp/123.txt'),\n", " PosixPath('temp/dir/sub_dir1'),\n", " PosixPath('temp/dir/987.text'),\n", " PosixPath('temp/dir/bbb.txt'),\n", " PosixPath('temp/dir/sub_dir2'),\n", " PosixPath('temp/dir/sub_dir1/98.txt'),\n", " PosixPath('temp/dir/sub_dir1/ccc.text'),\n", " PosixPath('temp/dir/sub_dir2/ddd.text')]\n" ] } ], "source": [ "pprint.pprint(list(p_temp.glob('**/*')))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/1.txt'),\n", " PosixPath('temp/123.txt'),\n", " PosixPath('temp/dir/sub_dir1/98.txt')]\n" ] } ], "source": [ "pprint.pprint([p for p in p_temp.glob('**/*')\n", " if re.search('\\d+\\.txt', str(p))])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/[x].txt'),\n", " PosixPath('temp/aaa.text'),\n", " PosixPath('temp/dir/bbb.txt'),\n", " PosixPath('temp/dir/sub_dir1/ccc.text'),\n", " PosixPath('temp/dir/sub_dir2/ddd.text')]\n" ] } ], "source": [ "pprint.pprint([p for p in p_temp.glob('**/*')\n", " if re.search('/\\D{3}\\.(txt|text)', str(p))])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('/Users/mbp/Documents/my-project/python-snippets/notebook/temp/[x].txt'),\n", " PosixPath('/Users/mbp/Documents/my-project/python-snippets/notebook/temp/aaa.text'),\n", " PosixPath('/Users/mbp/Documents/my-project/python-snippets/notebook/temp/dir'),\n", " PosixPath('/Users/mbp/Documents/my-project/python-snippets/notebook/temp/1.txt'),\n", " PosixPath('/Users/mbp/Documents/my-project/python-snippets/notebook/temp/12.text'),\n", " PosixPath('/Users/mbp/Documents/my-project/python-snippets/notebook/temp/123.txt')]\n" ] } ], "source": [ "pprint.pprint([p.resolve() for p in p_temp.iterdir()])" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['temp/[x].txt',\n", " 'temp/aaa.text',\n", " 'temp/dir',\n", " 'temp/1.txt',\n", " 'temp/12.text',\n", " 'temp/123.txt']\n" ] } ], "source": [ "pprint.pprint([str(p) for p in p_temp.iterdir()])" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/[x].txt'),\n", " PosixPath('temp/aaa.text'),\n", " PosixPath('temp/1.txt'),\n", " PosixPath('temp/12.text'),\n", " PosixPath('temp/123.txt')]\n" ] } ], "source": [ "pprint.pprint([p for p in p_temp.iterdir() if p.is_file()])" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/dir')]\n" ] } ], "source": [ "pprint.pprint([p for p in p_temp.iterdir() if p.is_dir()])" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['[x].txt', 'aaa.text', '1.txt', '12.text', '123.txt']\n" ] } ], "source": [ "pprint.pprint([p.name for p in p_temp.iterdir() if p.is_file()])" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[PosixPath('temp/1.txt'),\n", " PosixPath('temp/123.txt'),\n", " PosixPath('temp/dir/sub_dir1/98.txt')]\n" ] } ], "source": [ "pprint.pprint([p for p in p_temp.glob('**/*')\n", " if re.search('\\d+\\.txt', str(p))])" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "for p in p_temp.glob('**/*'):\n", " if re.search('\\d+\\.txt', str(p)) and p.is_file():\n", " p.unlink()" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[]\n" ] } ], "source": [ "pprint.pprint([p for p in p_temp.glob('**/*')\n", " if re.search('\\d+\\.txt', str(p))])" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[p.unlink() for p in p_temp.glob('**/*') if re.search('\\d+\\.txt', str(p)) and p.is_file()]" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "import shutil\n", "\n", "shutil.rmtree('temp')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.0" } }, "nbformat": 4, "nbformat_minor": 2 }