Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 4.970 pregleda

Najnovija ↓

File replacement i random replacement 28.09.2006. u 07:52 · pre 244 meseca #1
Treba mi mala pomoc... :)

Imam program koji mi dodaje u neki file ono sto mu zadam...

Evo primjera :

Code:

file_exe = raw_input('>>') 

def file_mod():
    file = open ( file_exe, 'w' )
    x = '*'
    file.write(x)
    file.close()
file_mod()


Sada tu se radi o appendu...
Gledao sam na netu neku dokumentaciju o replace-u i random replace-u dijelova nekog fajla (u mom slucaju odredjenih karaktera) al nisan sve uspia povatat...
Doduse tek san pocea nedavno radit u pythonu...
Pa mi treba mala pomoc...
Zanima me kako bi izgledao kod koji bi umjesto da dodaje nesto u fajl zapravo zamjeni neki dio fajla koji mu ja odredim ili nasumicno uzme neki dio bytova iz fajla i zamjeni ih nasumicno nekim bytovima odnosno karakterima koje ja odredim...

Hvala,
Re: File replacement i random replacement 28.09.2006. u 08:09 · pre 244 meseca #2
Trebash fajl otvoriti u append modu

Code:

file_exe = raw_input('>>') 
def file_mod():
     file = open ( file_exe, 'a' )
     x = '*'
     file.write(x)
     file.close()
file_mod()


a mogao si napisati ovako

Code:

file_exe = raw_input('Unesi Ime Fajla>>') 
file_add = raw_input('Unesi String za dodavanje>>') 
def file_mod(x):
     file = open ( file_exe, 'a' )
     file.write(x)
     file.close()
file_mod(file_add)
Potpis
[code]
print "Hello"
[/code]

---------------------------------------
Ljudi traze znanje, a ja trazim burek
Re: File replacement i random replacement 28.09.2006. u 13:19 · pre 244 meseca #4
Ne mogu baš da se pohvalim da sam tačno razumeo šta pokušavaš da uradiš, ali zar nije najjednostavnije da učitaš file u memoriju i onda obaviš na tom stringu sve što ti treba i ponovo ga upišeš nazad u file.

Code:

s = open(file_name, 'r').read()
s = s.replace(nesto, nesto_drugo)
open(file_name, 'w').write(s)


Možeš i da se krećeš kroz file sa funkcijom seek, ali onda moraš da paziš da stringovi kojima zamenjuješ delove file-a budu iste dužine sa onima koje zamenjuješ, jer ćeš pretabati i nešto što ne želiš.
Re: File replacement i random replacement 28.09.2006. u 14:25 · pre 244 meseca #6
Hvala !

Code:
s = open(file_name, 'r').read()
s = s.replace(nesto, nesto_drugo)
open(file_name, 'w').write(s)



Znaci kratko i jasno random odabrani karakteri unutar fajlova bit ce zamjenjeni random odabranim karakterima iz liste.

Ako san sve to dobro svatia sad ja mogu definirat nesto_drugo kao funkciju koja random odabire neke karaktere iz liste koju cu napravit.

Ali jos mi ostaje samo da moram definirat nesto kao funkciju koja random uzima karaktere iz fajla i zamjenjuje ih s nesto_drugo i da to sve bude jednaki broj karaktera da nebi doslo do konfuzije kako ti kazes odnosno sranja...

E to ne znam kako odredit da nesto bude uzeto random iz fajla i ne znam
kako odredit to da bude sve iste velicine da ne dodje do gluposti ?
Nesto sa len() mozda ?


Hvala !
Re: File replacement i random replacement 28.09.2006. u 16:24 · pre 244 meseca #7
Skini IPython i igraj se malo... To je najjednostavniji način da naučiš python.

Nisi dobro shvatila. nesto i nesto_drugo su stringovi.

Ako hoćeš da zameniš random izabran karakter iz file-a, možeš da uradiš nešto tipa:

Code:

import random
s = open(file_name, 'r').read()
i = random.randint(0, len(s))
s = s[:i] + tvoj_novi_karakter + s[i+1:]
open(file_name, 'w').write(s)


Ili nešto tipa:

Code:

import random

f = open(file_name, 'r+')
f.seek(0, 2)
length = f.tell()
f.seek(0)

i = random.randint(0, length)

f.seek(i)
f.write(tvoj_novi_karakter)
f.close()
Re: File replacement i random replacement 28.09.2006. u 21:13 · pre 244 meseca #9
Evo :

Code:

    f = open(file_name, 'r+')
    f.seek(0, 2)
    length = f.tell()
    f.seek(0)
    i = random.randint(0, length)
    f.seek(i)
    for x in range(3):
        f.write(random.choice(['0', '1', '10']))
    f.close()


Hvala na pomoci oko ovoga...

Medjutim imam jos jedan problem...

Zanima me kako definirat vrijednost 1 bajta i spremit ga u file kao karakter ?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme