Re: [Linux-programlama] Python:Alt Alta Sürekli Yazdırma

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Yuce Tekol (yucetekol@gmail.com)
Date: Tue 20 Jun 2006 - 14:06:15 GMT


Merhaba,

Bunun icin os modulundeki stat islevini kullanabilirsiniz
(http://docs.python.org/lib/os-file-dir.html):

import os
kip = os.stat("dosya.adi").st_mode

kip, tamsayi tipinde olacaktir; kullanici, grup ve digerlerinin
izinlerini bu sayidan bulmak icin stat modulundeki sabitleri
kullanabiliriz:

from stat import *
kullanici_okuma_hakki = kip & S_IRUSR == kip
kullanici_okuma_yazma_hakki = kip & S_IRUSR|S_IWUSR == kip
digerleri_butun_haklar = kip & S_IRWXO == kip

stat modulunun dokumantasyonundan daha fazlasini bulabilirsiniz

On 6/20/06, Ömer F. USTA <omerusta@gmail.com> wrote:
> Merhaba
> Benden de bir soru : açmak/yazmak istediğimiz dosyaya
> erişim hakkımızı nasıl sorgulayabiliriz ?
>
> On 6/20/06, Yuce Tekol <yucetekol@gmail.com> wrote:
> > Merhaba
> >
> > 1) Probleminiz dosyayi "w" kipinde (mode) acmanizdan kaynaklaniyor,
> > eger dosyayi "a" kipinde acarsaniz, yazdiginiz seyler dosyanin sonuna
> > eklenir. (file() islevi ile kullanabileceginiz kiplerlin listesi:
> > http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.12.html#fopen)
> >
> > 2) yazar islevi neden ozyinelemeli (recursive)? Basit bir while
> > dongusu ile bu isi halledebilirdiniz.
> >
> > 3) close() yontemini try/except icinde yazmaniza gerek yok, zaten
> > kapali olan bir dosyayi kapatmak istisnaya (exception) yol acmiyor.
> >
> > 4) Dosyayi "a" kipinde actigimiz icin os.path.exists islevine de gerek kalmiyor.
> >
> > Asagida gonderdiginiz kodda yaptigim degisiklikler yer var; kolay gelsin.
> >
> > Yuce Tekol
> >
> > # -*- coding: utf-8 -*-
> >
> > def yazar(yazici):
> > cd_ismi = raw_input("CD'nin ismini giriniz (Çıkmak için 'q' tuşuna basınız): ")
> >
> > if cd_ismi == "q":
> > yazici.close()
> > return False
> > else:
> > print>>yazici, cd_ismi
> > return True
> >
> > dosya = file("cdkayit.txt", "a")
> > while yazar(dosya):
> > pass
> >
> > On 6/20/06, Buğrahan Korkmaz <kickboksor@gmail.com> wrote:
> > > Selam,
> > >
> > > Arkadaşlar biliyorum sizleri çok rahatsız ettim ama ne yapiyim elimde değil.
> > >
> > > Şimdi ben konsolda çalışan bir cd katalog programı yapıcam. Bir dosyayı open
> > > ile açıyorum ve yazdırıyorum. Kapatmadan bir daha yazdırıyorum ama sadece
> > > ilk yazdırdığım çıkıyor. İşte kod burda. Ben yazdıklarımı alt alta yazmasını
> > > istiyorum...
> > >
> > > #!/usr/bin/python
> > > # -*- coding:utf8 -*-
> > >
> > > #
> > > # cdkayit.py
> > > #
> > >
> > > import os
> > >
> > > def yazar():
> > > cd_ismi = raw_input("CD'nin ismini giriniz (Çıkmak için 'q' tuşuna
> > > basınız): ")
> > > if cd_ismi == "q":
> > > try:
> > > yazici.close()
> > > except:
> > > print "Zaten dosya açık değildi"
> > >
> > > sys.exit(1)
> > > else:
> > > yazici = open("cdkayit.txt","w")
> > > yazici.write(cd_ismi)
> > > return yazar()
> > >
> > > if os.path.exists("cdkayit.txt"):
> > > yazar()
> > > else:
> > > f = open("cdkayit.txt","w")
> > > f.close()
> > > yazar()
> > >
> > > Yardımlarınız için teşekkürler...
> > > --
> > > Buğrahan Korkmaz
> > > _______________________________________________
> > > Linux-programlama mailing list
> > > Linux-programlama@liste.linux.org.tr
> > > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> > >
> > >
> > >
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > Linux-programlama@liste.linux.org.tr
> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
> >
> >
>
>
> --
> Ömer Fadıl USTA
> http://www.bilisimlab.com/
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.