J'ai écrit la fonction, il a seulement la fonctionnalité pour obtenir les détails d'Openstack en utilisant Openstack API. Je fais déjà la journalisation, cependant pour la vérification rapide de quelques réseaux je redirige la sortie du couple d'instruction d'impression dans un dossier. (ça ressemble à ça), et ça fonctionne bien.Rediriger Imprimer la sortie de déclaration dans un fichier si un argument de ligne de commande est fourni
def get_net_details():
...
filename = open('validation.txt', 'a')
network_name = network['name']
print >> filename, 'Network Name : {0}'.format(network_name)
network_id = subnet_detail['subnet']['network_id']
print >> filename, 'Network ID : {0}'.format(network_id)
network_type = network['provider:network_type']
print >> filename, 'Network Type : {0}'.format(network_type)
print >> "========================================="
filename.close()
Le problème est, je veux connecter la sortie de la déclaration d'impression au fichier uniquement si l'utilisateur fournit une entrée de ligne de commande (tout commutateur via argparse ou tout autre moyen) au moment de l'exécution du script.
toute aide sera appréciée ..!
Vérifiez la longueur de sys.argv et, si l'entrée est fournie, faites votre redirection. – Deepaklal
Vous pouvez également essayer le module getopt, qui permet de gérer les arguments de la ligne de commande – Deepaklal