python f.read()读取文件为空

今天在使用python 读取文件时发现f.read()读取内容为空,特在此记录一下原因

with open(path,'rb')
    f.read()

可能原因1:

       多次调用f.read(),第一次调用f.read()可以读取到内容,这时游标会移动到文章末尾,再次调用f.read()是获取不到内容的,可以使用f.seek(0)将游标移动到文章开头再次调用f.read()即可获取内容。

可能原因2:

      在使用f.write()向文件内写入内容后立刻使用f.read()读取文件内容,这时游标也是在文件末尾的,也获取不到文本,解决方法同上。

可能原因3:

      如果你不管第几次调用,不管怎么处理,都无法使用f.read()读取文件内容,我建议你看看你监视里面有没有监视f.read(),如果有的话每次执行代码的时候都会先执行一次f.read(),所以你代码里当然获取不到内容,移除监视即可。

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Python中,可以使用`pd.read_csv()`函数来读取文件。下面是几种常见的读取文件的方法: 1. 通过文件路径读取: ```python file_path = r"E:\VSCODE\2_numpy_pandas\pandas\Game_Data.csv" df = pd.read_csv(file_path, sep=",|:|;", engine="python", header=0, encoding='gbk') ``` 2. 通过网页上的文件读取: ```python df = pd.read_csv("http://localhost/data.csv") ``` 3. 通过文件对象读取: ```python f = open(r"E:\VSCODE\2_numpy_pandas\pandas\Game_Data.csv", encoding="gbk") df = pd.read_csv(f) ``` 另外,你还可以使用一些参数来对读取的文件进行处理。比如: - `sep`参数用来指定分隔符,可以使用正则表达式来匹配多个分隔符。 - `engine`参数可以设置为`'python'`来解决路径或文件名中包含中文的问题。 - `encoding`参数用来指定文件的编码方式。 - `converters`参数可以在读取时对列数据进行变换。 - `header`参数用来指定表头的行数。 举个例子,假设我们想读取一个文件,并指定第一行作为表头: ```python file_path = r"E:\VSCODE\2_numpy_pandas\pandas\Game_Data.csv" df = pd.read_csv(file_path, sep=",|:|;", engine="python", header=0, encoding='gbk') ``` 在这个例子中,我们将`header`参数设置为0,即选择文件的第一行作为表头。 总结起来,通过`pd.read_csv()`函数可以实现读取文件,并通过参数来对文件进行处理和解析。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值