write () kısmen okunabilir/bozuk dosyaları oluşturma

Bir dosyaya yazmaya çalıştığım uzun bir dizim var (düzenli aralıklarla \ n ile DNA dizisi).

Aşağıdaki kod ile yazarak, bir C ++ programında getline tarafından tam olarak erişilemeyen bir dosyam var. Yani, bu dosyanın sadece bir düzine çizgiye sahip olduğunu düşünür. Aynı şekilde, eğer dosyada kedi ya da daha fazlasını yaparsam, sadece dosyanın bir düzine çizgisini görüyorum. Bununla birlikte, dosyayı bir editörle (gedit gibi) açarsam tüm dosya var ve yeniden kaydedersem aniden her şeyi okuyabiliyorum.

  output = open(fileFasta, 'w')
  lines = vSeq[1].split('\n')
  # Tried this
  output.write(vSeq[1])
  # And this
  for line in lines:
    output.write(line)
    output.flush()
  output.close()

Açıkçası, dosyayı gedit'in yaptığı önemli bir şekilde bitirmiyorum. Fikirler?

0
Dosyanıza od veya bir hex editörü gibi bir şeyle bakmayı deneyin.
katma yazar n.m., kaynak
Bu çok sıra dışı. ls -l dosyanın boyutu hakkında ne söyler? cat , od vb. İle eşleşiyor mu?
katma yazar n.m., kaynak
Herhangi bir öneriniz ne aramalı? Od ile açılıyor her şey orada gibi görünüyor.
katma yazar Nathan Fig, kaynak
Aslında bunu geri alıyorum: odun sadece bir düzine kadar baytlık satır elde etmek gibi görünüyor.
katma yazar Nathan Fig, kaynak
Ahh, senin ipin beni soruna yol açtı: kaynak dosyamı bulmak için kullanılan ghex satır satırları (\ n) yerine yeni satır karakterleri (\ n). Teşekkürler! Bir çözüm gönderirseniz size kredi veririm.
katma yazar Nathan Fig, kaynak

2 cevap

Kaynak dosyamı keşfetmek için kullanılan ghex, newline (\ n) karakterleri yerine satır başı (\ r) kullanıyordu.

2
katma
İçeriğinden emin olmak istiyorsanız, her zaman onaltılık bir dosya dökün. Konsolda yazdırmak, belirli ikili nesneleri (ham satırbaşı, geri boş alanlar ve NUL baytları gibi) içeriyorsa güvenilir değildir.
katma yazar Adam Rosenfield, kaynak

Belki de C ++ programınız çıktı akışını yeterince temizlemez. Ya da belki de bir yerlerde boş bir bayt var ...

0
katma
Bu bir cevap gibi gelmiyor, ancak yorumlarda gösterebileceğiniz bazı sorular.
katma yazar agf, kaynak