创建一个测试文件,用golang和python逐行读取,输出每行的偏移,测试结果如下:
python
#!/usr/bin/env python import sys import os def main(): input = open("test.file"); input.seek(0) while True: pos = input.tell() line = input.readline() line = line.strip() #trim the last "\n" if not line: break print pos return 0 if __name__ == '__main__': sys.exit(main())
输出结果如下:
root:~ # python test.py 0 315 510 820 1130 1510 1898 2218 2538 2858 3178 3493 3807 4213 4625 5037 5449 5800
golang(go version go1.1 linux/amd64)
package main import ( "fmt" "os" "io" "bufio" ) func main() { f, err := os.Open("test.file") if err != nil { fmt.Println(err) return } br := bufio.NewReader(f) for { _ , err := br.ReadBytes('\n') pos, _ := f.Seek(0, os.SEEK_CUR) if err == io.EOF { return } else { fmt.Println(pos) } } }
输出结果如下
root:~ # go run test.go 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 7903 7903 7903 7903 7903 7903 7903 7903 7903 7903 7903 11944
不知道是不是用了bufio的缘故,使得获取偏移不精确,还没找到解决办法。
相关推荐
weixin-golang-sdk 微信golang工具包
fluent-logger-golang, 用于Fluentd的结构化记录器( Golang ) fluent-logger-golang Fluentd ( Golang ) 结构化事件记录器如何安装go get github.com/fluent/fluent-logger-golang/fluent
标题 "Go-go-nmea-Golang的NMEA解析器库" 指向的是一个用Golang语言编写的专门用于解析NMEA(Navigation Message Exchange Format)数据的库。NMEA是一种广泛使用的全球定位系统(GPS)和其他导航设备的数据交换标准...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
"Go-mini-golang包"就是针对这种需求设计的一个小型库,它专门用于解析ini风格的配置文件。本文将详细介绍这个库的使用方法、核心功能以及其在实际项目中的应用。 首先,让我们理解什么是ini文件。INI文件是一种...
**Python-Gopypi:采用Golang编写的私有Python包索引** 在Python的生态系统中,包管理器PyPI(Python Package Index)是官方的中央仓库,用于存储和分发Python软件包。然而,对于组织或企业内部的私有包管理,PyPI...
例如,一个简单的使用示例可能包括读取图像文件,初始化检测器,然后在图像上滑动窗口进行检测: ```go import ( "github.com/esimov/pigo" "github.com/esimov/pigo/face" ) func main() { detector := face....
开源项目-lacion-cookiecutter-golang.zip,戈朗的基本项目模板,有点固执己见。
telegram-bot-api - Golang绑定Telegram Bot API
《Go-zk-sniffer:利用Golang解析ZooKeeper数据包》 ZooKeeper,作为分布式协调服务,广泛应用于各种分布式系统中。然而,对于其内部数据包的监控和分析,往往需要专业的工具来帮助我们理解系统运行状态。Go-zk-...
Ansible-ansible-role-golang.zip,安装go语言sdk ansible角色:go语言sdk,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
开源项目-nanobox-io-golang-scribble是一个基于Golang实现的小型JSON文件存储系统,设计用于简单、高效地管理与存储JSON格式的数据。在这个压缩包文件“golang-scribble-master”中,包含了项目的源代码和其他相关...
压缩包内的“google-search-results-golang-master”文件夹很可能是项目的源代码仓库,通常包含以下部分: 1. `main.go`:主程序文件,负责启动和运行应用。 2. `config.yaml`或`config.json`:配置文件,可能包含...
提交前的golang 用于golang钩子 使用这些钩子 将此添加到您的.pre-commit-config.yaml - repo: git://github.com/joker8023/pre-commit-golang rev: master hooks: - id: go-fmt - id: go-vet - id: go-lint ...
"Go-go-selfupdate"正是这样一个针对Golang应用的自我更新工具,它允许开发者轻松地集成到自己的程序中,使得用户可以无缝地获取并安装应用的最新版本。 一、Go-selfupdate的工作原理 Go-selfupdate通过下载服务器...
官方离线安装包,亲测可用
fluent-logger-golangFluentd(Golang)的结构化事件记录器如何安装go get github.com/fluent/fluent-logger-golang/fluent用法使用go get安装该软件包,并使用import将其包括在您的项目中。 import "github....
3. **配置与设置**:为了适应不同的环境和需求,项目可能包含配置文件,允许用户自定义通知触发条件、通知级别、显示样式等参数。此外,可能还提供了命令行工具或图形界面用于配置和管理通知服务。 4. **多平台兼容...
开源项目-dkondratovych-golang-ua-meetup.zip,Presentation about Context in Go 1.7. Review, examples, thoughts.