[Çözüldü] Satır silme işlemleri?

Başlatan marslı, 17 Haziran 2017 - 17:45:12

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

semm

ben son yazdıgın yoruma bakmıstım os modulune bir bak bash komutlarını os ile kullanabilirsin
os.system('')
buraya terminalde kullandıgın tüm komutları girip kullanabilirsin 

marslı

Yapmak istediğim os modülü ile olmuyor maalesef. dosya okuma satırı es geçip yeni bir dosya oluşturma vs vs. Python ile yapmayı umut ediyorum. Ama yapamadım daha :D 

semm

#27
ne yapmak istediğini anlamadım ki satır okuma kodunu atmıştım onun üzerine ekleme yaparak yeni dosyaya yazabilirsin başlığın adını da değiştir istersen iyice karıştı :)


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 29 Haziran 2017 - 17:22:44

[mention=628001]@marslı[/mention]
bu işini görür sanırım dosyadaki bir satira gidip kelimeyi değiştirip yeni dosyaya yazıyor.

f = open('dosya1.txt','r')
_input = int(input('kaçıncı satir: '))
for i,j in enumerate(f):
if i in [_input]:
rex = j.replace('hello',"pitonpiton") # pitonpiton yeni kelime

f.close()
f = open('yeniDosya.txt','a+')
f.write(rex)
f.close()



Amenofis

Alıntı yapılan: marslı - 28 Haziran 2017 - 14:32:19
Pardon @szgnblt python2 ile çalıştığım için python2 ile çalıştırdım. o yüzden hata verdi sanırım. Python3 ile çalıştırınca değiştiriyor ama istediğim yine olmadı.

Şöyle olsun. Ubuntu 14.04 , Ubuntu 15.04 ve Ubuntu 16.04 olsun dosyamızın satırlarıda. Ben komutu çalıştırınca Ubuntu ile başlayan tüm satırlar yeni dosyaya yazılmasın. Bunu ypamk istiyorum.

Aşağıdaki script dosya ismini ve satır silmek için gereken karakter dizisini komut satırından alır. Mesela scriptin ismi sil.py, dosyanın adı a.txt olsun ve yukarıda yazdıklarından herhangi birini içeren satırlar silinsin.

./sil.py $HOME/a.txt 'Ubuntu 1'
diyerek çalıştırınca Ubuntu 1* içeren bütün satılar silinir.


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

dosya = open(sys.argv[1], 'r', encoding='utf-8')
liste = dosya.readlines()
dosya.close

dosya = open(sys.argv[1], 'w', encoding='utf-8')
for satir in liste:
    if not sys.argv[2] in satir:
        dosya.write(satir)

dosya.close()

marslı

@Amenofis senin o elini alır, öperim :D Ya biliyorsun da beni niye uğraştırıyprsun mübarek insan. Ya sen ne mükemmel adam mıssın arkadaş. Ya arkadaş cidden çok sağol be. Çok teşekkür ederim arkadaşlar hepinize. Nihayet çözüm buldum. Bunu python2'ye uyarladım mı tamamdır :) 

ahmet12

arkadasim aradigin cevap bende
d= open("/sdcard/d.txt", "r").readlines()
ff=d
for dd in ff:
    fj =dd.startswith('ubuntu')
    if fj ==False:
        print dd
# dosyadaki satir  baslangici ubuntu olanlari yazdirma digerlerini yazdir
ne kadar basit :D
kendi sorunlarima bu kadar basit kisa cevaplar bulamiyorum
hatta bunu konu olarak acayim millette aradiginda bulsun

marslı

Kodlarda bazı oynamalar yaparak dosyaya yazdırabiliriz sanırım. Teşekkürler :) 

ahmet12

print yazan yere open dosya acip yazdirabilirsin
onemli degil kardesim

marslı

Konuya çözüldü etiketini ekleyelim o zaman :)