Ceci est probablement un étirement. J'ai un def (ou une fonction) qui prend un nom de fichier, ouvre le fichier et effectue une action sur le contenu du fichier. Y a-t-il un moyen en Python d'utiliser une variable à la place du nom de fichier? En d'autres termes, donnez une chaîne ou des attributs de fichier de liste.Utiliser une variable comme fichier
def Albert(fname):
f = open(fname, 'r')
for i in f.readline():
print(i)
#Main
Collins = 'Blues Guitar\n'
Albert(Collins)
Pourquoi serait-ce un étirement? C'est exactement comme ça que ça fonctionne. Votre seul problème est que votre chaîne 'Collins' a une nouvelle ligne, qui n'est pas valide dans un nom de fichier. –
Mais 'Collins' n'est pas un nom de fichier, c'est une chaîne qui contient 'Blues Guitar \ n'. Je voudrais que le contenu de la variable 'Collins' soit traité comme le contenu d'un fichier. J'ai du mal à exprimer ça. – brett
Vous souhaitez qu'un objet de fichier en mémoire avec le * contenu * soit dicté par la variable. Vous n'avez en effet pas précisé cela. Dans ce cas, votre question est dupe de [Utilisation de Python, comment puis-je lire/écrire des données en mémoire comme je le ferais avec un fichier?] (Http://stackoverflow.com/q/1883326) –