Kopyalama Hatası

a.py dosyasını başlangıç dosyasına kopyalamak istiyorum ama The syntax of the command is incorrect. hatasını alıyorum.

import os
os.system("copy " + os.getcwd() + "\\a.py " +  "C:\\Users\\casper\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\b.py")

copy miydi COPY miydi tam emin değilim ama copy olan yeri COPY yaparmısın bir

Komut istemi yerine kendiniz bir fonksiyon yazın veya shutil modülünü kullanın.

1 Beğeni

Yok Aynı hata. Normal de diğer dosyalara kopyalıyor, bu dizine kopyalamıyor.

ya aslında yapacağın işlem çok basit dosyayı open ile aç readlines ile okut içindekileri hedef dosyaya kopyala yapamıyorsan yapayım atayım sana ?
yani fonkisyon yaz ilk yazılar alınacak dosya 2. si ise hedef dosya şeklinde kopyalasın.

Zahmet olmazsa olur. :slight_smile:

def dosya_kopyala(dosya,hedef_dosya):
    with open(dosya,"r") as kopyala:
        l = kopyala.readlines()
        c = open(hedef_dosya,"w")
        for m in l:
            c.write(m)
        c.close()

kod kısaltılabilir seri olsun diye bu şekilde aklıma geldi :slight_smile:

Tamam saolun. Kısaltabilirsem kısaltırım. :slight_smile:

Rica ederim yardımcı olduysam ne mutlu bana yani kısaltabilirsin with open ile değilde şöyle yazabilirsin

for plain in open("blabla.txt","r").readlines():
     c = open("blabla2.txt","w")
     c.write(plain)
     c.close()

gibi bişi yapılabilir herhalde

1 Beğeni

Bunu gibi mi yapmam gerekiyor?

for plain in open("a.py","r").readlines():
     c = open("C:\\Users\\casper\\Desktop","w")
     c.write(plain)
     c.close()

Bu şekilde yaptım ama kopyalanmadı.

yanlış yaptık pardon çok özür dilerim dosyayı daha öncesinden açmamız gerekiyor.

def dosya_kopyala(dosya,hedef_dosya):
    c = open(hedef_dosya,"w")
    for plain in open(dosya,"r").readlines():
        c.write(plain)
    c.close()

döngünün içinde açarsak olmaz döngünün dışında açmamız gerekiyor ki tüm içeriği yazsın.

Kusura bakmada bu şekilde mi? dosyanın yolunu belirtcez?

def dosya_kopyala(a.py,C:\\Users\\casper\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup):
    c = open(hedef_dosya,"w")
    for plain in open(dosya,"r").readlines():
        c.write(plain)
    c.close()

bu şekilde yapınca editör kırmızı rengi veriyor.

kusura neden bakıyım ? istediğin modülü kullan dosyanın yolunu nereden çağırdığına bağlı sen bu pythonu nereden çalışıtıryorsan o kadar alt dizine veya o kadar üst dizine çıkarıcaksın yani sen en alt dizindesin ve en üst dizindeki bir dosyayı çağıracaksan kusura bakma en başından tanımlaman gerekiyor ama desktoptasındır desktopta olan bir dosyayı çağıracaksındır ve python dosyasınıda desktopta çalıştırdıysan hiç yazmana bile gerek yok dosya yolunu nerede olduğuna göre değişir.
farzedelim ki bu dosyayı çalıştırdığım yerde kopyalayacağım dosyalar şu şekilde yazabilirim.

dosya_kopyala("yazbel2.txt","yazbel3.txt")

yazdığım gibi yazbel2 nin içeriği yazbel3 e aktarılır

çok sorduğum için. :slight_smile:

sormak istedigim tırnak yada 2 tane mi ters slash mı olucak?

ama örnekte bir .txt dosyasının içerigini başka bir .txt dosyasını kopyalamışsınız.

bilgisayarınız windows ise bulunduğu dosyaya bir gidin dosyanın olduğu dizin nasıl tanımlanmışsa o şekilde yazmalısınız ben windows kullanmadığım için bilmiyorum kusuruma bakmayın :frowning:

dosyanın içeriği değil dosyanın kendisini nasıl kopyalıycam?

yok öyle demek istemedim hani dosyaya girdiğinizde yukarıda C:\ v.s oluyor ya oraya bakın demek istedim

https://www.yilmazmehmet.com/etiket/python-dosya-kopyalamak/

KAYNAK = ‘/Users/yyilmazmehmet/Desktop/a.txt’
gibi

bakın bu şekilde yazıcaksınız işte :slight_smile:

Benim yazdığım yolda karakter hatası veriyor.
tek \ mi olucak?
çift mi?