{"id":3744,"date":"2020-09-24T03:05:29","date_gmt":"2020-09-23T18:05:29","guid":{"rendered":"https:\/\/okamurax.com\/?p=3744"},"modified":"2020-09-25T01:47:16","modified_gmt":"2020-09-24T16:47:16","slug":"python-%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e9%96%a2%e9%80%a3","status":"publish","type":"post","link":"https:\/\/appbay.org\/?p=3744","title":{"rendered":"Python \u30d5\u30a1\u30a4\u30eb\u95a2\u9023"},"content":{"rendered":"<pre class=\"lang:python decode:true \"># \u30d5\u30a1\u30a4\u30eb --------------------------------------------------------\r\n\r\n# \u65b0\u898f\u4f5c\u6210(\u4e0a\u66f8\u304d)\r\nf = open(\"t.txt\", \"w\")\r\nf.write(\"test\")\r\nf.close()\r\n\r\n# \u8ffd\u52a0\u306e\u5834\u5408\r\nf = open(\"t.txt\", \"a\")\r\nf.write(\"test\")\r\nf.close()\r\n\r\n# print()\u3067\u306e\u66f8\u304d\u8fbc\u307f\r\nf = open(\"t.txt\", \"w\")\r\nprint(\"test\", file=f)\r\nf.close()\r\n\r\n# with\r\n# close()\u3057\u306a\u304f\u3066\u3082\u81ea\u52d5\u3067\u9589\u3058\u308b\r\nwith open (\"t.txt\", \"w\") as f:\r\n    f.write(\"test\")\r\n\r\n# \u8aad\u307f\u8fbc\u307f\u65b9\u6cd5\r\n\r\ns = \"\"\"\\\r\nabc\r\ndef\r\nghi\r\n\"\"\"\r\nwith open(\"t.txt\", \"w\") as f:\r\n    f.write(s)\r\n\r\n# 1\u5ea6\u306b\u8aad\u307f\u8fbc\u3080\r\nwith open(\"t.txt\", \"r\") as f:\r\n    print(f.read())\r\n\r\n# 1\u884c\u3054\u3068\u8aad\u307f\u8fbc\u3080\r\nwith open(\"t.txt\", \"r\") as f:\r\n    while True:\r\n        line = f.readline()\r\n        print(line, end=\"\")\r\n        if not line:\r\n            break\r\n\r\n# \u6307\u5b9a\u6587\u5b57\u6570\u3054\u3068\u8aad\u307f\u8fbc\u3080\r\nwith open(\"t.txt\", \"r\") as f:\r\n    chunk = 2\r\n    while True:\r\n        line = f.read(chunk)\r\n        print(line)\r\n        if not line:\r\n            break\r\n\r\n# seek\u3067\u306e\u8aad\u307f\u8fbc\u307f\r\n# tell() \u73fe\u5728\u306e\u30ab\u30fc\u30bd\u30eb\u306e\u4f4d\u7f6e\u3092\u53d6\u5f97\r\n# seek() \u6307\u5b9a\u3057\u305f\u4f4d\u7f6e\u306b\u30ab\u30fc\u30bd\u30eb\u3092\u79fb\u52d5 \r\nwith open(\"t.txt\", \"r\") as f:\r\n    print(f.tell()) # 0\r\n    f.seek(1)\r\n    print(f.read(2)) # bc\r\n    print(f.tell()) # 3\r\n\r\n# \u66f8\u304d\u8fbc\u307f\u30fb\u8aad\u307f\u8fbc\u307f\u30e2\u30fc\u30c9\r\n# w+\u306e\u5834\u5408\u3001\u958b\u3044\u305f\u6642\u70b9\u3067\u30d5\u30a1\u30a4\u30eb\u304c\u7a7a\u306b\u306a\u308b\r\n# r+\u306e\u5834\u5408\u3001\u6700\u521d\u306b\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308b\r\ns = \"\"\"\\\r\nabc\r\ndef\r\nghi\r\n\"\"\"\r\nwith open(\"t.txt\", \"w+\") as f:\r\n    f.write(s)\r\n    f.seek(0)\r\n    print(f.read())\r\n\r\n# \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 --------------------------------------------------------\r\n\r\nimport string\r\ns = \"\"\"\\\r\n123\r\n$a\r\n\"\"\"\r\nt = string.Template(s)\r\nprint(t.substitute(a = \"234\"))\r\n\r\n# CSV --------------------------------------------------------\r\n\r\nimport csv\r\n\r\n# \u66f8\u304d\u8fbc\u307f\r\nwith open(\"t.csv\", \"w\", newline=\"\") as c:\r\n    fields = [\"name\",\"age\"]\r\n    writer = csv.DictWriter(c, fieldnames=fields)\r\n    writer.writeheader()\r\n    writer.writerow({\"name\":\"taro\",\"age\":20})\r\n    writer.writerow({\"name\":\"jiro\",\"age\":21})\r\n\r\n#\u8aad\u307f\u8fbc\u307f\r\nwith open(\"t.csv\", \"r\") as c:\r\n    reader = csv.DictReader(c)\r\n    for r in reader:\r\n        print(r[\"name\"], r[\"age\"])\r\n\r\n# \u30d5\u30a1\u30a4\u30eb\u64cd\u4f5c --------------------------------------------------------\r\n\r\nimport os\r\nimport pathlib\r\nimport glob\r\nimport shutil\r\n\r\n# \u6614\u306e\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210\u65b9\u6cd5\r\nwith open (\"t.txt\", \"w\") as f:\r\n    f.write(\"test\")\r\n    \r\n# \u30d5\u30a1\u30a4\u30eb\u524a\u9664\r\nos.remove(\"t.txt\")\r\n\r\n# \u73fe\u5728\u306e\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210\u65b9\u6cd5\r\npathlib.Path(\"t.txt\").touch()\r\n\r\n# \u5b58\u5728\u78ba\u8a8d\r\nprint(os.path.exists(\"t.txt\")) # True\r\n\r\n# \u30d5\u30a1\u30a4\u30eb\u304b\u3069\u3046\u304b\r\nprint(os.path.isfile(\"t.txt\")) # True\r\n\r\n# \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u3069\u3046\u304b\r\nprint(os.path.isdir(\"t.txt\")) # False\r\n\r\n# \u30ea\u30cd\u30fc\u30e0\r\nos.rename(\"t.txt\", \"t2.txt\")\r\n\r\n# \u30b3\u30d4\u30fc\r\nshutil.copy(\"t2.txt\", \"t3.txt\")\r\n\r\nos.remove(\"t2.txt\")\r\nos.remove(\"t3.txt\")\r\n\r\n# \u30b7\u30e0\u30ea\u30f3\u30af\r\n# os.symlink()\r\n\r\n# \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4f5c\u6210\r\nos.mkdir(\"test\")\r\n\r\n# \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u524a\u9664(\u7a7a)\r\nos.rmdir(\"test\")\r\n\r\n# \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fb\u30d5\u30a1\u30a4\u30eb\u306e\u4e00\u89a7\r\nos.mkdir(\"test\")\r\nos.mkdir(\"test\/test1\")\r\npathlib.Path(\"test\/test1\/a.txt\").touch()\r\n# \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\r\nprint(os.listdir(\"test\")) # test1\r\n# \u30d5\u30a1\u30a4\u30eb\r\nprint(glob.glob(\"test\/test1\/*\")) # test\/test1\/a.txt\r\n\r\n# \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u524a\u9664(\u7a7a\u4ee5\u5916)\r\nshutil.rmtree(\"test\")\r\n\r\n# \u30ab\u30ec\u30f3\u30c8\u30d1\u30b9\u53d6\u5f97\r\nprint(os.getcwd())\r\n\r\n# zip --------------------------------------------------------\r\n\r\nimport zipfile\r\n\r\nif not os.path.exists(\"z1\"):\r\n    os.mkdir(\"z1\")\r\n\r\nwith open (\"z1\/t1.txt\", \"w\") as f:\r\n    pass\r\nwith open (\"z1\/t2.txt\", \"w\") as f:\r\n    pass\r\n\r\n# \u5727\u7e2e\r\nwith zipfile.ZipFile(\"test.zip\", \"w\") as z:\r\n    # z.write(\"z\/t1.txt\")\r\n    # z.write(\"z\/t2.txt\")\r\n    # \u8907\u6570\u306e\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3082\u66f8\u3051\u308b\r\n    for i in glob.glob(\"z1\/**\", recursive=True):\r\n        z.write(i)\r\n\r\n# \u89e3\u51cd\r\nwith zipfile.ZipFile(\"test.zip\", \"r\") as z:\r\n    z.extractall(\"z2\")\r\n\r\n# temp --------------------------------------------------------\r\n\r\nimport tempfile\r\n\r\n# \u30d0\u30c3\u30d5\u30a1\u3092\u30c6\u30f3\u30d7\u3068\u3059\u308b\u5834\u5408\r\nwith tempfile.TemporaryFile(mode=\"w+\") as t:\r\n    t.write(\"1\")\r\n    t.seek(0)\r\n    print(t.read()) # 1\r\n\r\n# \u5b9f\u969b\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u30c6\u30f3\u30d7\u3068\u3059\u308b\u5834\u5408\r\n# \u30d7\u30ed\u30b0\u30e9\u30e0\u7d42\u4e86\u6642\u306b\u524a\u9664\u3055\u308c\u308b\r\nwith tempfile.NamedTemporaryFile(delete=False) as t:\r\n    print(t.name) # \u30c6\u30f3\u30d7\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\r\n    with open(t.name, \"w+\") as f:\r\n        f.write(\"2\")\r\n        f.seek(0)\r\n        print(f.read()) # 2\r\n\r\n# \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b\r\n# \u30d7\u30ed\u30b0\u30e9\u30e0\u7d42\u4e86\u6642\u306b\u524a\u9664\u3055\u308c\u308b\r\nwith tempfile.TemporaryDirectory() as t:\r\n    print(t)\r\n\r\n# \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u8d77\u52d5 --------------------------------------------------------\r\n\r\nimport subprocess\r\nsubprocess.run(\"dir\", shell=True)\r\n\r\n# \u65e5\u4ed8 --------------------------------------------------------\r\n\r\nimport datetime\r\n\r\n# \u73fe\u5728\r\nnow = datetime.datetime.now()\r\nprint(now)\r\nprint(now.isoformat())\r\nprint(now.strftime(\"%Y\/%m\/%d\/-%H:%M:%S\"))\r\n\r\n# \u5e74\u6708\u65e5\r\ntoday = datetime.date.today()\r\nprint(today)\r\nprint(today.isoformat())\r\nprint(today.strftime(\"%Y\/%m\/%d\"))\r\n\r\n# \u6642\u5206\u79d2\r\nt = datetime.time(hour=1, minute=5, second=10)\r\nprint(t) # 01:05:10\r\n\r\n# \u8a08\u7b97\r\n# timedelta()\r\nnow = datetime.datetime.now()\r\nd = datetime.timedelta(weeks=-1) # 1\u9031\u9593\u524d \r\n# weeks, days, hours, minutes, second, microseconds\r\nprint(now + d)<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p># \u30d5\u30a1\u30a4\u30eb &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; # \u65b0\u898f\u4f5c\u6210(\u4e0a\u66f8\u304d) f = open(&#8220;t.txt&#8221;, &#8220;w&#8221;) f.write(&#8220;te &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/appbay.org\/?p=3744\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;Python \u30d5\u30a1\u30a4\u30eb\u95a2\u9023&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[154],"class_list":["post-3744","post","type-post","status-publish","format-standard","hentry","category-1","tag-python"],"_links":{"self":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/3744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3744"}],"version-history":[{"count":2,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/3744\/revisions"}],"predecessor-version":[{"id":3749,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/3744\/revisions\/3749"}],"wp:attachment":[{"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}