Você está na página 1de 3

path(caminho):

path absoluto - path completo: ex - C:\User\Mateus\exemplo

path relativo - path relativo a pasta que se encontra, por exemplo, se


estiver no diretorio \Mateus, o path
\exemplo vai dar o mesmo path de cima. Mas caso esteja no diretorio \Cleitin,
o path \exemplo iria para
o caminho completo de C:\User\Cleitin\exemplo

files(arquivos):
abrindo -> open(<nome do arquivo.extenção>,<modo, por ex 'r' de read ou 'w'
de write>)

OBS. após usar o methodo .read, o streming ("cursor") do arquivo vai para o
fim, e para voltarmos ao inicio e poder percorrer o arquivo novamente usamos
o metodo .seek(0), que coloca o "cursor" no inicio do arquivo.

.readlines -> lista com todas as linha do arquivo


.read -> string com o arquivo completo

Modificando arquivos:
import os -> modulo do python para trabalhar diretamente com o sistema
operacional
ex: os.remove(<nome do arquivo>) --> deleta o arquivo passado caso exista
naquele DIRETEORIO especifico que estiver trabalhando
os.rename(<nome antigo>, <nome novo>);
os.path -> sub-modulo do os para trabalhar com o caminho de arquivos: ver se
existem, informações do arquivo, como tamanho, tipo, etc
exemplo bom de utilização é ver se um arquivo já existe antes de
modificalo, para evitar perder informações.
os.path.getmdate -> data da ultima modificação do arquivo em UNIX timestamp
(qtd de segundos desde 1970). Para pegar a informação em uma data legivel podemos
utilizar o modulo datetime, da seguinte forma:
input -> datetime.datetime.fromtimestamp(os.path.getmdate(<arquivo>)
otp -> datetime.datetime(<ano, mes, dia, hora, minuto, segundo>)
Diretorios:
os.getcwd (get current working directory) -> mostra o diretorio atual
os.mkdir -> cria um novo diretorio dentro do diretorio atual
os.chdir('<destino>') -> troca de diretorio para o diretorio passado como
argumento
os.rmdir -> deleta um diretorio
os.listdir -> lista os itens de um diretorio
......
para mais funçoes com diretorios só pesquisar

Arquivos CSV (comma separeted values - valores separados por virgula)

Deve-se pensar no arquivo csv como uma tabela de excel, com cada cada virgula
separando as colunas.
csv.reader(<arquivo>) -> irá interpretar o arquivo como arquivo csv. Para ler
bastar fazermos um loop pelo arquivo e desempacotar a linha
em variaveis. ex: file = open('csv_file')
for linha in csv.reader(file):
nome, idade, prof = linha
print(f'nome: {nome:<6}, idade: {idade:<2},
profissao: {prof:<10}')
mais facilmente podemos utilizar o DictReader, que cria 'uma lista de
dicionarios', para ler na forma de um dicionario, onde os
elementos da primeira linha são as chaves e as demais linhas são os valores.

-----------------------------------------------------------------------------------
-----------------------------------------------------
exemplo de código
-----------------------------------------------------------------------------------
-----------------------------------------------------

'''lendo e esccrevendo CSV files normalmente (maneira boba)'''


import csv

# # 1) Primeira forma de escrever um arquivo CSV

# with open('csv_file', 'r+') as file:


# file.write('ana,23,jornalista\n'
# 'marcos,34,advogado\n'
# 'andre,90,aposentado')
# file.seek(0)
# print(file.read(), '\n')
# file.seek(0)
#
# # 2) segunda forma (e melhor) de escrever um arquivo CSV
# pessoas = [['ana', 23, 'jornalista'], ['marcos', 34, 'advogado'], ['andre', 90,
'aposentado']]
#
# with open('csv_file', 'w') as file:
# csv.writer(file, lineterminator='\n').writerows(pessoas)
# # para n dar o bug de colocar uma linha a mais usamos o lineterminator, mas tb
poderiamos
# # fazer da seguinte forma:
# # with open('csv_file', 'w', newline='') as file:....
#
# file = open('csv_file')
# csv_f = csv.reader(file)
# print(csv_f)
#
# for linha in csv_f:
# nome, idade, prof = linha
# print(f'nome: {nome:<6}, idade: {idade:<2}, profissao: {prof:<10}')
#
# file.close()

'''lendo e escrevendo arquivos CSV com dicionarios'''


# facilita pois o parametro já é especificado, evitando confusões

# ex. usuarios de uma companhia


#
# users = [{'nome': 'carlos', 'username': 'carlinhos_brow', 'departamento': 'TI'},
# {'nome': 'bruno', 'username': 'bruninho123', 'departamento': 'RH'},
# {'nome': 'murilo', 'username': 'xxxDarkShadowxxx', 'departamento':
'CEO'}]
#
# keys = ['nome', 'username', 'departamento']
# ret = ''
# with open('csv_dicfile', 'w', newline='') as by_dep:
# writer = csv.DictWriter(by_dep, fieldnames=keys)
# writer.writeheader()
# writer.writerows(users)
#
#
# with open("csv_dicfile") as file:
# reader = csv.DictReader(file)
# for coluna in reader:
# print(f'user: {coluna["username"]}, '
# f'nome: {coluna["nome"]}, '
# f'dep: {coluna["departamento"]}')

# sem DictReader
# rows = csv.reader(file)
# for row in rows:
# n, c, t = row
# ret += "a {} {} is {}\n".format(c, n, t)
# print(ret)
# ret = ret.split('\n')[1:]
# print('\n'.join(ret))

Você também pode gostar