欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

seek引發(fā)的python文件讀寫(xiě)的問(wèn)題及解決

 更新時(shí)間:2019年07月26日 14:22:44   作者:bainianminguo  
這篇文章主要介紹了seek引發(fā)的python文件讀寫(xiě)的問(wèn)題及解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

我的需求很簡(jiǎn)單,就是統(tǒng)計(jì)一下我的安裝腳本執(zhí)行的次數(shù)和時(shí)間,格式是這樣的

install_times:1|install_times:2018-09-03 15:58:46
install_times:2|install_times:2018-09-03 15:58:50
install_times:3|install_times:2018-09-03 15:58:54

首先我需要判斷一下文件是否為空,我開(kāi)始是這樣寫(xiě)的

import time
import os
file_list = []
tags = False
with open("install_hadoop.txt", "r", encoding="utf-8") as f:
  flag = bool(f.readline())
  # obj = True
  # f.seek(0)
  if flag:
    tags = True
    for obj in f:
      tmp_list = obj.split("|")
      file_list.append(tmp_list)
    last_times = int(file_list[-1][0].split(":")[1]) + 1
    last_time = time.strftime("%Y-%m-%d %H:%M:%S")
  else:
    last_times = 1
    last_time = time.strftime("%Y-%m-%d %H:%M:%S")

先通過(guò)f.readline()讀一行文件出來(lái),判斷返回的對(duì)象是否為真,如果為真,則認(rèn)為文件不為空,則繼續(xù)往下走,這里有個(gè)問(wèn)題就是,當(dāng)我讀出來(lái)一行后,我的指針的位置到了第一行的末尾,等下在去讀文件,直接從第二行去讀數(shù)據(jù),本來(lái)我這里是要讀到所有的數(shù)據(jù),但是由于seek導(dǎo)致我的數(shù)據(jù)是從第二行開(kāi)始的,所以得出來(lái)的結(jié)果就不對(duì)

這里可以有2種辦法解決

1、通過(guò)f.readline()讀一次文件之后,在f.seek(0),把指針在設(shè)置回到最開(kāi)始的位置

with open("install_hadoop.txt", "r", encoding="utf-8") as f:
  flag = bool(f.readline())
  # obj = True
  <strong> f.seek(0)</strong>
  if flag:
    tags = True
    for obj in f:
      tmp_list = obj.split("|")
      file_list.append(tmp_list)
    last_times = int(file_list[-1][0].split(":")[1]) + 1
    last_time = time.strftime("%Y-%m-%d %H:%M:%S")
  else:
    last_times = 1
    last_time = time.strftime("%Y-%m-%d %H:%M:%S")

2、修改判斷文件是否為空的方法,采用os.path.getsize的方法來(lái)判斷文件是否為空

with open("install_hadoop.txt", "r", encoding="utf-8") as f:<br>  flag = bool(f.readline())<br>  # obj = True<br>  f.seek(0)<br>  <strong>print(os.path.getsize("install_hadoop.txt"))</strong><br>  if flag:<br>    tags = True<br>    for obj in f:<br>      tmp_list = obj.split("|")<br>      file_list.append(tmp_list)<br>    last_times = int(file_list[-1][0].split(":")[1]) + 1<br>    last_time = time.strftime("%Y-%m-%d %H:%M:%S")<br>  else:<br>    last_times = 1<br>    last_time = time.strftime("%Y-%m-%d %H:%M:%S")

至此,這個(gè)問(wèn)題被解決,同時(shí)也對(duì)python的文件操作有了更深的理解,也明白了python設(shè)置seek的作用

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python如何解析復(fù)雜sql,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和表的提取的實(shí)例剖析

    python如何解析復(fù)雜sql,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和表的提取的實(shí)例剖析

    這篇文章主要介紹了python如何解析復(fù)雜sql,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和表的提取的實(shí)例剖析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • 詳解Django中的form庫(kù)的使用

    詳解Django中的form庫(kù)的使用

    這篇文章主要介紹了詳解Django中的form庫(kù)的使用,Django是最為著名的Python編程框架,需要的朋友可以參考下
    2015-07-07
  • 如何將pytorch模型部署到安卓上的方法示例

    如何將pytorch模型部署到安卓上的方法示例

    這篇文章演示如何將訓(xùn)練好的pytorch模型部署到安卓設(shè)備上,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 詳細(xì)介紹Python進(jìn)度條tqdm的使用

    詳細(xì)介紹Python進(jìn)度條tqdm的使用

    這篇文章主要介紹了詳細(xì)介紹Python進(jìn)度條tqdm的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python 關(guān)于模塊和加載模塊的實(shí)現(xiàn)

    Python 關(guān)于模塊和加載模塊的實(shí)現(xiàn)

    這篇文章主要介紹了Python 關(guān)于模塊和加載模塊的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python join方法使用詳解

    python join方法使用詳解

    這篇文章主要介紹了python join方法使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 歸納整理Python中的控制流語(yǔ)句的知識(shí)點(diǎn)

    歸納整理Python中的控制流語(yǔ)句的知識(shí)點(diǎn)

    這篇文章主要?dú)w納整理了Python中的控制流語(yǔ)句的知識(shí)點(diǎn),來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • 解決pycharm下載庫(kù)時(shí)出現(xiàn)Failed to install package的問(wèn)題

    解決pycharm下載庫(kù)時(shí)出現(xiàn)Failed to install package的問(wèn)題

    很多小伙伴遇到pycharm下載庫(kù)時(shí)出現(xiàn)Failed to install package不知道怎么解決,下面小編給大家?guī)?lái)了解決方法,需要的朋友參考下吧
    2021-09-09
  • Python數(shù)字圖像處理基礎(chǔ)直方圖詳解

    Python數(shù)字圖像處理基礎(chǔ)直方圖詳解

    這篇文章主要介紹了Python數(shù)字圖像處理基礎(chǔ)直方圖詳解,本文對(duì)Python直方圖的定義、性質(zhì)、應(yīng)用以及Python直方圖的計(jì)算作了詳細(xì)的講解,有需要朋友可以借鑒參考下
    2021-09-09
  • Python格式化輸出字符串的五種方法總結(jié)

    Python格式化輸出字符串的五種方法總結(jié)

    Python語(yǔ)言有許多優(yōu)點(diǎn),常用于不同的領(lǐng)域,如數(shù)據(jù)科學(xué)、web開(kāi)發(fā)、自動(dòng)化運(yùn)維等。本文將學(xué)習(xí)如何使用字符串中內(nèi)置的方法來(lái)格式化字符串,感興趣的可以了解一下
    2022-06-06

最新評(píng)論