{"id":110,"date":"2016-11-23T01:18:01","date_gmt":"2016-11-23T01:18:01","guid":{"rendered":"http:\/\/python.wp.w3.pt\/?p=110"},"modified":"2016-11-27T20:31:41","modified_gmt":"2016-11-27T20:31:41","slug":"ficheiros","status":"publish","type":"post","link":"http:\/\/python.w3.pt\/?p=110","title":{"rendered":"Ficheiros"},"content":{"rendered":"<p>Para o meu projeto, preciso de ler ficheiros em Python. A primeira a\u00e7\u00e3o que preciso de executar \u00e9 listar os ficheiros de uma pasta. Para isso vou usar o c\u00f3digo seguinte:<\/p>\n<pre>\r\nimport os\r\nos.listdir(\"path\")   # devolve uma lista\r\n<\/pre>\n<p>Para listar os ficheiros com extens\u00e3o &#8220;.csv&#8221;, podemos usar  o c\u00f3digo seguinte:<\/p>\n<pre>\r\nimport os\r\nimport re\r\nd = os.listdir(\".\")\r\nfor i in d[:]:\r\n    if re.match('.*\\.csv$', i): \r\n        print i\r\n<\/pre>\n<p>E agora um programa que l\u00ea um ficheiro de texto para uma lista de linhas, retira o <em>\\r\\n<\/em> (rstrip) do fim das linhas e o <span title=\"byte order mark\" style=\"text-decoration:underline;cursor:pointer;\">BOM<\/span> do in\u00edcio. No fim, imprime as linhas limpas.<\/p>\n<pre>\r\n#!\/usr\/bin\/python\r\n# -*- coding: utf-8 -*-\r\n\r\nimport re\r\n\r\nwith open(\"a.txt\") as f:\r\n    linhas = f.readlines()\r\n\r\nregex = re.compile(r\"^\\xef\\xbb\\xbf\")\r\nlinhas = list(map(lambda x: regex.sub(\"\", x).rstrip(), linhas))\r\n\r\nfor i in linhas:\r\n    print i\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Para o meu projeto, preciso de ler ficheiros em Python. A primeira a\u00e7\u00e3o que preciso de executar \u00e9 listar os ficheiros de uma pasta. Para isso vou usar o c\u00f3digo seguinte: import os os.listdir(&#8220;path&#8221;) # devolve uma lista Para listar os ficheiros com extens\u00e3o &#8220;.csv&#8221;, podemos usar o c\u00f3digo seguinte: import os import re d &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/python.w3.pt\/?p=110\" class=\"more-link\">Continuar a ler <span class=\"screen-reader-text\">&#8220;Ficheiros&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/posts\/110"}],"collection":[{"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/python.w3.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=110"}],"version-history":[{"count":9,"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/posts\/110\/revisions"}],"predecessor-version":[{"id":121,"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/posts\/110\/revisions\/121"}],"wp:attachment":[{"href":"http:\/\/python.w3.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/python.w3.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/python.w3.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}