Wpis z mikrobloga

pytanie z #python #programowanie

def svaeATOM(self):
with open("new_"+self.file_name,'w') as new_file:
with open(self.file_name) as old_file:
for line in old_file:
if(line[:6].strip() != "ATOM"):
new_file.write(line)
else:
for atom in self.ATOM:
new_file.write(str(atom))

mam coś takiego, jak przy zapisie pozbyć się [ ] oraz przecinków ?
  • 13
@levil: Wrzuć to na pastebin, bo ciężko sie czyta.
Skąd w ogóle masz []? Zapisujesz pusty zbiór, tak? Jeśli tak to wystarczy choćby dać if foo wcześniej.
bool( [] ) to false, więc nie doda pustego zbioru.
@venomik: nie o to mi chodzi. wpisuje mi w plik ['siema', 'jestem', 'zenon'] i wlaśnie chodzi mi o zwykły zapis do pliku: siema jestem zenon ( ͡° ͜ʖ ͡°)
@levil:
Jeśli chcesz połączyć pojedyncze wyrazy z listy spacją wystarczy:
' '.join(['siema', 'jestem', 'zenon']) - ale nie wiem wciąż o co chodzi z przecinkami.
Daj fragment pliku wejściowego, odpowiadający mu fragment pliku wyjściowego oraz jak to powinno wyglądać. Bo póki co nie upraszczasz.
@venomik:no ok, ale co z zapisem, żeby wyglądał tak samo ? dodam, że formatowanie tj spacje/tabualtory są przechowywane.

jak mieć dostęp w for atom in self.ATOM do następnego elementu ? chodzi mi o to żeby w i mieć dostęp do i+1
@levil:
Naprawdę musisz się podszkolić w zadawaniu pytań. Do jakiego następnego elementu? I czym jest self.ATOM?
Jestem tu parę minut i wciąż nic nie wiem ;)
@venomik: ATOM to lista, która zawiera listę elementów tej linijki co wstawiłem wyżej. Musze porównać czy 2 element linijki różni się od 2 elementu następnej linijki
czyli coś w tym stylu tab[i]==tab[i+1]+1
for n in range(len(oldfile)):
----if old
file[n] == old_file[n+1]:
tak możesz porównać dwie kolejne linie z pliku. Jak to przerobić na porównanie elementów linii - poradzisz sobie ;)