pyplot - title plt python
Se requiere un nĂºmero entero? abierto() (5)
Como hiciste from os import *
, estás (por cierto) usando os.open, que de hecho requiere un indicador entero en lugar de una "r" o "w" textual. Saca esa línea y superarás ese error.
Tengo un script python muy simple que debe escanear un archivo de texto, que contiene líneas formateadas como id = '' value '' y ponerlas en un dict. el módulo python se llama chval.py y el archivo de entrada es in.txt. aquí está el código:
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()
cuando intento ejecutarlo obtengo:
Rastreo (llamadas recientes más última):
Archivo "chval.py", línea 9, ¿en? f = abrir (sys.argv [1], ''r'') TypeError: se requiere un entero
Estoy usando Python 2.4 ... porque me han desafiado a no usar nada más nuevo, ¿hay algo sobre open () que no sepa? ¿Por qué quiere un número entero?
cualquier cosa después de esa línea no se ha probado. en resumen: ¿por qué me está dando el error y cómo lo soluciono?
Desde http://www.tutorialspoint.com/python/os_open.htm también puede mantener su importación y uso
file = os.open ("foo.txt", modo)
y el modo podría ser:
os.O_RDONLY: open for reading only
os.O_WRONLY: open for writing only
os.O_RDWR : open for reading and writing
os.O_NONBLOCK: do not block on open
os.O_APPEND: append on each write
os.O_CREAT: create file if it does not exist
os.O_TRUNC: truncate size to 0
os.O_EXCL: error if create and file exists
os.O_SHLOCK: atomically obtain a shared lock
os.O_EXLOCK: atomically obtain an exclusive lock
os.O_DIRECT: eliminate or reduce cache effects
os.O_FSYNC : synchronous writes
os.O_NOFOLLOW: do not follow symlinks
No import * from wherever
sin una buena razón (y no hay muchos).
Su código está recogiendo la función os.open () en lugar de la función integrada open (). Si realmente quiere usar os.open (), import os
luego llame a os.open(....)
. Cualquiera que sea la apertura que desee llamar, lea la documentación sobre los argumentos que requiere.
Proporcionar estos parámetros resolvió mi problema:
with open(''tomorrow.txt'', mode=''w'', encoding=''UTF-8'', errors=''strict'', buffering=1) as file:
file.write(result)
También es de destacar que a partir de Python 2.6 la función incorporada open () ahora es un alias para la función io.open (). Incluso se consideró eliminar el built-in open () en Python 3 y requerir el uso de io.open, para evitar colisiones accidentales del espacio de nombres como resultado de "from blah import *". En Python 2.6+ puedes escribir (y también puedes considerar que este estilo es una buena práctica):
import io
filehandle = io.open(sys.argv[1], ''r'')