Kopyalama Hatası

Ben teşekkür ederim :slight_smile:

Aklıma şimdi geldi, benim kopyalıyacağım dosya .exe uzantılı olucak.

:smiley: bunu yarın halledebilirim şuanda yoldayım kusuruma bakmayın :slight_smile:

yok ne kusuru, istediğiniz zaman atarsınız. :slight_smile:

Hedef dosya isminde bosluk var.

Sistem kurallarina gore quote etmen veya komut satiri argumanlarini ayiran bir fonksiyon kullanman lazim.

Örnek verirmisiniz? :slight_smile:

\a nın sonundaki boşluğu silin diyor.

Onu değil. Start Menü dosyasının isminde boşluk olduğu için hata veriyor.

Bide bu başlangıç dosyası çoğu windows da aynı dosya yolundamıdır?

Windows xp’de farklı, ayrıca kullanıcı adı da fark eder.

Tmm onu ben ayarlarım. :slight_smile:
Dosyanın ismi ayrı yazıldığı için dosyanın adını os.rename() fonksiyonu ile değiştirdim, ama start menü dosyasının ismini startmenü olarak değiştiremedim. Aynı dosya içinde olunca oluyor. Ama dosyanın yolunu belirtince hata veriyor.

Ne ornegi?
Quote icin Windows’un sacmaliklarini buyuk ugraslar sonucu unuttum, " kullanmayi deneyebilirsin.
Fonksiyon icin subprocess’teki hemen hepsi.

Gerek kalmadı. Saolun :slight_smile:

Başkaları da kopyalama işlemi yaparken sıkıntı yaşarsa diye cevap yazmak istedim.

Arkadaşın da dediği gibi en kolay yol kopyalama işlemini shutil modülü ile yapmak. Hatta shutil modülü 4 tane kopyalama fonksiyonuna sahip :smiley: Ben biri ile işinizi görecek bir örnek veriyorum:

import shutil
kopyalanacak_dosya = "a.py" # tam bir dizin olmadığı için os.getcwd shutil tarafından kullanılacak
yeni_dosya = "C:\\Users\\casper\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\b.py"
shutil.copy(kopyalanacak_dosya , yeni_dosya )

Bir dosyayı okuyup tekrar yazmak da koplayalama işlemi için çok iyi bir yöntem değil. Böyle işleri işletim sistemine bırakmak daha iyi olur. Her şeyi geçsek yine de işletim sistemi tarafından daha hızlı kopyalanacaktır.

1 Beğeni