Python ile windows kullanıcı adı öğrenme

Merhaba ,
Basit bir kod ile istediğim konumdaki dosyayı çalıştırmak istiyorum , fakat windows kullanıcı adı bilgisayardan bilgisayara değişiklik gösterdiği için aşşağıdaki verdiğim yol sadece benim bilgisayarımda çalışacak.
" C:\Users\ferhatasdx\AppData\Local\Google "
Python ile windows kullanıcı adı öğrenip bunu bir değişkene atayıp çalıştırma gibi bir şey var mı ?
mesela :
Windows kullanıcı adı : asd12
user değişkenine asd12 yi atadık .
" C:\Users\ “user” (burası bilgisayarın kullanıcı adına göre değişecek)\AppData\Local\Google "

yardımcı olurmusunuz ? iyi forumlar .

Merhaba, aşağıdaki kodları bir inceleyin isterseniz.

print(__import__("os").environ["USERPROFILE"] + r"\AppData\Local\Google")
2 Beğeni

Kurulu programlar da bilgisayardan bilgisayara degistigi icin verdigin yol sadece senin bilgisayarinda calisacak.

Amac Google adli bir dizin bulmaksa neden tek bir kullanici altinda ariyorsun?

Kurulan programın C dizinindeki Google dosyası olduğunu varsayıyorum ki böylede olacak fakat şuan kullanıcı adını elde edebiliyorum ama o konuma gidemiyorum

Bu tur isler icin Pythonun mukemmel bir paketi var. pathlib

Sorunu onlar cok rahat cozebilirsin.

from pathlib import Path

root_dir = Path("~").expanduser()
# root_dir artik C:\User\<kallniciadi\
target_path = root_dir / "AppData\\Local\\Google"
# En guzel ozeliklerinden birisi bolme islemini operator overriding yaparak okunabilirligi artiriyor

1 Beğeni

Tam tersi okunabilirliği azaltıyor. Zira bir programlama dilinde eğer bir operator birden fazla işlemi gerçekleştiriyorsa bu okunabilirliği azaltır.

http://computerenginieering.blogcu.com/programlama-dilleri-dersi-notu/11513888

Örneğin + operatorü birden fazla işlem için atanmış olabilir. Örneğin tamsayılarda toplama, reel sayılarda toplama, matrislerde toplama gibi. Bu özellik, operatör sayısını azalttığı için avantajlı bir durum olarak görülse de bazen programın okunabilirliğini azaltmaktadır. Bir dizideki tüm elemanların toplamı için + operatörünün programcı tarafından atandığını varsayalım. Bu programı okuyan bir kişi + operatörünün ne amaçla kullanıldığı hakkında şüpheye düşecektir. Bu da okunabilirliği azaltır.

Ben öyle düşünmüyorum. İşlemin sol tarafında zaten Path() objesi olduğu belli ve / işaret zaten dizin işareti

root_path / 'test_dir' / 'file.md'

Neredeyse bir dosya yolu gibi ama python kodu hem de platforma göre çıktı veriyor. Ayırca anlamsız ve tahmin edilemiyecek bir çıktı vermiyor.

pathlib standart bir Python kütüphanesi. Eğer okunabilirlik düşseydi bence dilin yapısına katmazlardı.

Okunabilirlik düşüyor diye dile katmamazlık yapmazlar ki. Programlama dillerindeki her ifade okunabilirliği arttırmıyor. O zaman lambda ifadelerini kesinlikle eklemezlerdi çünkü çok fazla karışıklığa neden oluyor.

Belirtmek istediğim, operator overload yapmak okunabilirliği düşürür.

operator overload yapmak okunabilirliği düşürüyorsa bu özellik neden geliştiricilerin kullanımına sunulsun ki?
Bence operator overloadın gereksiz kullanımı okunabilirliği düşürüyor. Çünkü bu yapıyı ilk gördüğümde vay be okunabilirlik ne kadar da artmış demiştim.

Okunabilirlik dile değil, geliştiriciye bağlı. Dil istediği kadar okunabilirlik için dizayn edilsin, geliştirici dikkat etmediği zaman bir anlamı olmaz. Dediğiniz gibi burada okunabilirlik düşmese bile, genel anlamda pek tercih edilmez.

1 Beğeni

Okunabilirlik kisisel (subjektif) bir sey zaten.

Mesela bence vektor/matris objeleri icin +'yi overload etmek okunabilirligi artirirken, *'yi overload etmek dusuruyor.

1 Beğeni