write raw_input how for convert python user-input

raw_input - python input()



Obtener la entrada del usuario (5)

Esta pregunta ya tiene una respuesta aquí:

Estoy ejecutando esto:

import csv import sys reader = csv.reader(open(sys.argv[0], "rb")) for row in reader: print row

Y obtengo esto en respuesta:

[''import csv''] [''import sys''] [''reader = csv.reader(open(sys.argv[0]'', '' "rb"))''] [''for row in reader:''] ['' print row''] >>>

Para sys.argv[0] me gustaría que me sys.argv[0] que ingrese un nombre de archivo.

¿Cómo obtengo que me pida que ingrese un nombre de archivo?


En Python 3.x, use input() lugar de raw_input()


Para complementar las respuestas anteriores en algo un poco más reutilizable, he llegado a esto, lo que continúa incitando al usuario si la entrada se considera inválida.

try: input = raw_input except NameError: pass def prompt(message, errormessage, isvalid): """Prompt for input given a message and return that value after verifying the input. Keyword arguments: message -- the message to display when asking the user for the value errormessage -- the message to display when the value fails validation isvalid -- a function that returns True if the value given by the user is valid """ res = None while res is None: res = input(str(message)+'': '') if not isvalid(res): print str(errormessage) res = None return res

Se puede usar así, con funciones de validación:

import re import os.path api_key = prompt( message = "Enter the API key to use for uploading", errormessage= "A valid API key must be provided. This key can be found in your user profile", isvalid = lambda v : re.search(r"(([^-])+-){4}[^-]+", v)) filename = prompt( message = "Enter the path of the file to upload", errormessage= "The file path you provided does not exist", isvalid = lambda v : os.path.isfile(v)) dataset_name = prompt( message = "Enter the name of the dataset you want to create", errormessage= "The dataset must be named", isvalid = lambda v : len(v) > 0)


Use la función raw_input() para obtener la entrada de los usuarios (2.x):

print "Enter a file name:", filename = raw_input()

o solo:

filename = raw_input(''Enter a file name: '')

o si está en Python 3.x:

filename = input(''Enter a file name: '')


Use la siguiente forma simple de obtener de manera interactiva los datos del usuario mediante un aviso como Argumentos sobre lo que desea.

Versión: Python 3.X

name = input(''Enter Your Name: '') print(''Hello '', name)


sys.argv[0] no es el primer argumento, sino el nombre de archivo del programa python que está ejecutando actualmente. Creo que quieres sys.argv[1]