Hepimizin bildiği gibi, Windows'daki dosya adları iki nokta üst üste ekleyemez. a
, b
ve word1
('foo' ile) (boş): Bu komut dosyası ./temp
dizinde üç dosya oluşturur Python'daki dosya adlarındaki kolon
import os
os.chdir('./temp')
names = ['a', 'b', 'word1: word2', 'c: file', 'd: file']
for name in names:
with open(name, 'w') as f:
f.write('foo')
: Ancak, aşağıdaki örnek kodu ile çoğaltılabilir edilebileceğini, bir sorunla karşılaştık . Ayrıca, çıkarılabilir depolama alanı olan
D:\
'da
file
adlı bir dosya oluşturur. Bu, yönetici haklarının yazılmasını gerektiren
C:\
'da hiçbir şey oluşturmaz; Ancak, mevcut çalışma dizininde bir dosya oluşturur.
- Neden atılan herhangi bir istisna değildir (diğer yasak karakterlerle, ben IOError olsun):
üç şeye anlamıyorum?
word1
dosyası neden boş?- Geçerli çalışma dizininde neden bir dosya oluşturulur?
Bulunduğunuz noktaya oldukça teğettir (bu iyi bir soru), fakat lütfen dosyalar ile çalışırken 'with' kullanın. İyi uygulamalara yol açın! – Veedrac
'' word1: word2 '', '' word2 '' adlı alternatif NTFS akışına depolar. Bunu "dir/R word1" ile kontrol edin. – eryksun
'c: dosya ', C: sürücüsündeki geçerli çalışma dizininde'' file'' adlı bir dosya oluşturur. – eryksun