cari

Rumah  >  Soal Jawab  >  teks badan

python如何向文件最开始插入一个字符串?

在尽量保证性能的情况下

高洛峰高洛峰2888 hari yang lalu400

membalas semua(5)saya akan balas

  • 高洛峰

    高洛峰2017-04-18 09:05:04

    Jika anda ingin menyisipkan kandungan di hadapan fail yang sedia ada, maka prestasi bukanlah satu kebimbangan besar.
    Oleh kerana anda perlu membaca dan menulis kandungan fail ini semula tidak kira apa, ini ditentukan oleh logik sistem fail.

    balas
    0
  • 黄舟

    黄舟2017-04-18 09:05:04

    file.seek(0) Ini ialah set offset kepada 0, yang merupakan permulaan.
    Anda boleh menggunakan file.tell() untuk mengesahkan.
    Anda boleh merujuk kepada dua halaman web.
    https://docs.python.org/2/tutorial/inputoutput.html
    http://www.tutorialspoint.com/python/file_seek.htm

    balas
    0
  • 阿神

    阿神2017-04-18 09:05:04

    Tiada pencarian (0) diperlukan

    r Penunjuk fail model berada di permulaan fail.

    Selain itu, kandungan fail mesti dilalui

    balas
    0
  • PHPz

    PHPz2017-04-18 09:05:04

    Mari kita bincangkan isu ini dalam dua perkara:

    1. Cara memasukkan kandungan ke dalam kepala atau tengah fail dengan cekap merujuk kepada kurang masa (kelajuan lebih pantas) dan penggunaan sumber.

    2. Cara menulis kod pythonic yang mencukupi untuk menangani perkara ini

    Izinkan saya memberitahu anda kesimpulan saya dahulu (jika anda mempunyai pendapat lain, dialu-alukan untuk berbincang, mungkin saya salah):

    1. Tidak boleh melakukannya

    2. Selagi ia tidak ditulis terlalu teruk atau terlalu sukar untuk dibaca, saya rasa kod yang sederhana atau lebih panjang adalah baik (atau lebih baik)

    Petik kata-kata tuhan yang agung untuk membuktikan:

    Python menjadikan banyak perkara mudah dan mengandungi perpustakaan serta pembungkus untuk banyak operasi biasa, tetapi matlamatnya bukan untuk menyembunyikan kebenaran asas.

    Kebenaran asas yang anda temui di sini ialah anda biasanya tidak boleh menambahkan data ke struktur rata sedia ada tanpa menulis semula keseluruhan struktur Ini benar tanpa mengira bahasa.

    Terdapat cara untuk menyimpan pemegang fail atau menjadikan kod anda kurang boleh dibaca, kebanyakannya disediakan dalam jawapan lain, tetapi tiada satu pun mengubah operasi asas: Anda mesti membaca dalam fail sedia ada, kemudian tulis data yang ingin anda tambahkan , diikuti dengan data sedia ada yang anda baca.

    Dengan segala cara, selamatkan diri anda pemegang fail, tetapi jangan cuba mengemas operasi ini ke dalam beberapa baris kod yang mungkin, sebenarnya, jangan sekali-kali mencari baris kod yang paling sedikit -- itu adalah pengeliruan, bukan pengaturcaraan.

    Oleh Nicholas Knight

    Rujukan:

    Tambahkan baris ke fail sedia ada dalam Python


    Soalan yang saya jawab: Python-QA

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 09:05:04

    Tiada cara untuk memasukkan kandungan secara langsung pada permulaan, fail mesti dibaca sekali.
    Saya telah memikirkan masalah ini sebelum ini, saya sedang menyahkompilasi projek ular sawa dan perlu memproses semua fail dalam kelompok Masukkan kandungan berikut pada permulaan setiap fail python:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    

    Saya juga mencuba banyak kaedah Saya juga mencari kaedah dalam talian pada masa itu, tetapi tidak berjaya.
    Jadi, pada akhirnya, saya menggunakan kaedah yang paling mudah dan paling ganas, menggunakan osd.walk untuk melintasi semua fail python, menulis kandungan pada permulaan ke dalam fail baharu, kemudian membaca kandungan fail asal, menulisnya ke dalam fail baharu, dan kemudian Fail baharu itu dinamakan semula kepada nama fail asal.
    Walaupun ia sangat ganas, saya dapati kemudian bahawa ia sebenarnya sangat pantas, mungkin kerana failnya tidak terlalu besar. ^_^

    balas
    0
  • Batalbalas