欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

seek引發的python文件讀寫的問題及解決

系統 1609 0

我的需求很簡單,就是統計一下我的安裝腳本執行的次數和時間,格式是這樣的

            
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
          

首先我需要判斷一下文件是否為空,我開始是這樣寫的

            
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")
          

先通過f.readline()讀一行文件出來,判斷返回的對象是否為真,如果為真,則認為文件不為空,則繼續往下走,這里有個問題就是,當我讀出來一行后,我的指針的位置到了第一行的末尾,等下在去讀文件,直接從第二行去讀數據,本來我這里是要讀到所有的數據,但是由于seek導致我的數據是從第二行開始的,所以得出來的結果就不對

這里可以有2種辦法解決

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

            
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")
          

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

            
with open("install_hadoop.txt", "r", encoding="utf-8") as f:
            
flag = bool(f.readline())
# obj = True
f.seek(0)
print(os.path.getsize("install_hadoop.txt"))
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")

至此,這個問題被解決,同時也對python的文件操作有了更深的理解,也明白了python設置seek的作用

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 夜夜夜爽bbbb性视频 | 4hu44四虎在线观看 | 国产亚洲精品精品国产亚洲综合 | 一区二区视屏 | 天天操网 | 欧美日韩亚洲国内综合网俺 | 日本中文字幕在线播放 | 男人电影天堂 | 91大神精品长腿在线观看网站 | 国产福利不卡视频在免费 | 亚洲91在线| 亚洲一区二区三区在线视频 | 激情视频区 | 亚洲高清专区 | 无码日韩精品一区二区免费 | 亚欧成人中文字幕一区 | 午夜视频日本 | 国产精品久久久久国产精品 | 热re66久久精品国产99re | 久久这里只精品国产99热 | 亚洲第一成年免费网站 | 欧美精品久久久久久久久老牛影院 | 中文字幕日韩理论在线 | www.色人阁| 一区二区三区欧美 | 免费一区二区三区免费视频 | av在线播放网址 | 99精品视频在线这里只有 | 国产精品久久久久国产精品 | 欧美视频在线一区二区三区 | 一级做一级爱a做片性视频视频 | 日韩精品视频在线 | 国产成人精品一区二区仙踪林 | 日韩精品久久久久 | 欧美不卡一区二区三区在线观看 | 色播视频在线播放 | 色婷婷综合在线 | 一级毛片私人影院老司机 | 91xxx在线观看 | 丝袜美腿视频一区二区三区 | 免费观看黄的小视频 |