当前位置: 首页 > 面试题库 >

是否需要整数?打开()

谯灿
2023-03-14
问题内容

我有一个非常简单的python脚本, 应该 扫描一个文本文件,该文件包含格式为 id =’ value
‘的行并将其放入dict中。python模块称为chval.py,输入文件为in.txt。这是代码:

import os,sys
from os import *
from sys import *

vals = {}

f = open(sys.argv[1], 'r')

for line in val_f:
    t = line.split('=')
    t[1].strip('\'')
    vals.append(t[0], t[1])

print vals

f.close()

当我尝试运行它时,我得到:

追溯(最近一次通话):
文件“ chval.py”,第9行,位于?中。f = open(sys.argv [1],’r’)TypeError:必须为整数

我使用的是python 2.4 …因为我一直被挑战为不使用任何更新的东西,所以open()是否存在我所不知道的东西?为什么要整数?

该行之后的所有内容都未经测试。简而言之:为什么会给我错误,我该如何解决?


问题答案:

因为您这样做了from os import *,所以您(正在)使用os.open,它确实需要一个整数标志而不是文本的“ r”或“
w”。删除该行,您将克服该错误。



 类似资料:
  • 问题内容: 我在搞弄JAX- RS,制作了一个应用程序,该应用程序调用产生JSON的REST服务。我尝试了Jersey,一切都很好,但是由于我的应用程序需要使用JDK5进行构建,因此我不得不切换到RESTEasy。我将web.xml更改为以下内容: 因此,我希望每个以/ rest开头的URL都将由RESTEasy处理。我的服务如下: 使用Jersey可以正常工作,http:// localhost

  • 随着新的工具栏小部件的引入和AppCompat(android.support.v7.widget.Toolbar)版本的推出,是否还需要调用setSupportActionbar(工具栏)?或者调用setSupportActionbar有什么好处吗;现在我们可以设置标题、子标题、导航图标、导航图标单击侦听器(getSupportActionBar()。直接在工具栏上设置DisplayHomeAs

  • 问题内容: 我正在使用Hibernate Search,文档和书籍说我在id字段上需要@DocumentId,以便Hibernate Search可以知道如何将索引映射到对象。 没有代码中的@DocumentId,我的代码似乎运行良好。Hibernate Search是否变得足够聪明,以至于@Id字段是一个很好的默认值?是否会引起一些不明显的问题? 谢谢你的时间! 问题答案: 如果您使用的是老式的

  • 问题内容: 以下代码: 是/是打开JDBC连接所必需的。 我听说现代JDBC驱动程序不再需要它。但是我无法在项目中将其删除,因为我遇到了异常。我正在使用Java7和tomcat7。 什么时候可以省略构建? 问题答案: 从JDBC 4.0开始,不需要Class.forName()。 这是JDBC的Java教程的摘录。 在 早期 版本的JDBC中,要获得连接,首先必须通过调用方法Class.forNa

  • 问题内容: 我需要从该站点下载哪个tar? 我已经尝试过fortrans,但是一直出现此错误(明显地设置了环境变量之后)。 问题答案: 该SciPy的网页用来提供构建和安装说明,但说明现在依靠操作系统二进制分发。要在没有预编译所需库软件包的操作系统上构建SciPy(和NumPy),必须先构建然后静态链接到Fortran库BLAS和LAPACK: 仅执行五个g77 / gfortran / ifor

  • 问题内容: 这可能是愚蠢的问题。Hyperledger Fabric是否需要Docker才能运行。 我只是想知道,仅当我们需要在同一台物理机中将Fabric peer,orderer或benchDB作为虚拟机运行时才需要Docker。我认为,如果我们在单独的同一台服务器上本地安装这些软件(对等,订单,couchDB等),则可能不需要Docker。 谢谢。 问题答案: 只是要注意这一点,尽管您不需要