Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

File replacement i random replacement

[es] :: Python :: File replacement i random replacement

[ Pregleda: 3097 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bouncer

Član broj: 112643
Poruke: 18
*.rev-addr.vox-mundi.net.



Profil

icon File replacement i random replacement28.09.2006. u 06:52 - pre 170 meseci
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,
 
Odgovor na temu

BigBrother2005

Član broj: 54621
Poruke: 97

Sajt: sremcod.coconia.net


Profil

icon Re: File replacement i random replacement28.09.2006. u 07:09 - pre 170 meseci
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)

[code]
print "Hello"
[/code]

---------------------------------------
Ljudi traze znanje, a ja trazim burek
 
Odgovor na temu

Bouncer

Član broj: 112643
Poruke: 18
*.rev-addr.vox-mundi.net.



Profil

icon Re: File replacement i random replacement28.09.2006. u 10:30 - pre 170 meseci
Hvala na sugestiji al nemam ja problema sa skriptom vec sa replacementom...
 
Odgovor na temu

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.static.sbb.co.yu.



Profil

icon Re: File replacement i random replacement28.09.2006. u 12:19 - pre 170 meseci
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š.
 
Odgovor na temu

anrxc

Član broj: 43899
Poruke: 452
*.adsl.net.t-com.hr.

Sajt: sysphere.org


Profil

icon Re: File replacement i random replacement28.09.2006. u 13:03 - pre 170 meseci
http://pleac.sourceforge.net/pleac_python/
You need to install an RTFM interface.
 
Odgovor na temu

Bouncer

Član broj: 112643
Poruke: 18
*.adsl.net.t-com.hr.



Profil

icon Re: File replacement i random replacement28.09.2006. u 13:25 - pre 170 meseci
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 !
 
Odgovor na temu

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.static.sbb.co.yu.



Profil

icon Re: File replacement i random replacement28.09.2006. u 15:24 - pre 170 meseci
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()
 
Odgovor na temu

Bouncer

Član broj: 112643
Poruke: 18
*.dsl.iskon.hr.



Profil

icon Re: File replacement i random replacement28.09.2006. u 16:50 - pre 170 meseci
Ovo bi zavrsilo posa samo sto u ovom slucaju tvoj_novi_karakter moze bit samo string ali ne i tuple...


 
Odgovor na temu

Bouncer

Član broj: 112643
Poruke: 18
*.dsl.iskon.hr.



Profil

icon Re: File replacement i random replacement28.09.2006. u 20:13 - pre 170 meseci
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 ?
 
Odgovor na temu

Bouncer

Član broj: 112643
Poruke: 18
*.dsl.iskon.hr.



Profil

icon Re: File replacement i random replacement29.09.2006. u 23:13 - pre 170 meseci
Zavrsio sam program...

Hvala svima na pomoci...
 
Odgovor na temu

[es] :: Python :: File replacement i random replacement

[ Pregleda: 3097 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.