Rumah > Soal Jawab > teks badan
高洛峰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.
黄舟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
阿神2017-04-18 09:05:04
Tiada pencarian (0) diperlukan
r
Penunjuk fail model berada di permulaan fail.
Selain itu, kandungan fail mesti dilalui
PHPz2017-04-18 09:05:04
Mari kita bincangkan isu ini dalam dua perkara:
Cara memasukkan kandungan ke dalam kepala atau tengah fail dengan cekap merujuk kepada kurang masa (kelajuan lebih pantas) dan penggunaan sumber.
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):
Tidak boleh melakukannya
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
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. ^_^