J'ai besoin de script pour ajouter des guillemets dans la chaîne url de url.txtAjouter Quotes dans la chaîne url du fichier
de http://www.site.com/info.xx
à "http://www.site.com/info.xx"
J'ai besoin de script pour ajouter des guillemets dans la chaîne url de url.txtAjouter Quotes dans la chaîne url du fichier
de http://www.site.com/info.xx
à "http://www.site.com/info.xx"
url = '"%s"' % url
Exemple:
line = 'http://www.site.com/info.xx \n'
url = '"%s"' % line.strip()
print url # "http://www.site.com/info.xx"
Rappelez-vous, en ajoutant une barre oblique inversée avant qu'un guillemet l'échappera et ne finira donc pas la chaîne.
écrire un ...
perl est mon langage de script préféré ... il semble que vous préfériez Python.
Je viens de lire dans le fichier et ajouter \ » avant et après ..
c'est assez facile en Perl.
cela semble plus comme une demande qu'une question ... devrait-il être sur stackoverflow?
Aucune question n'est trop triviale sur StackOverflow. – strager
Personnellement, je pense qu'il serait plus facile d'ajouter les guillemets en sortie (c'est-à-dire print "\" $ url \ "\ n";), mais comme vous voulez le faire. –
url = '"%s"' % url
Exemple:
>>> url = "http://www.site.com/info.xx"
>>> print url
http://www.site.com/info.xx
>>> url = '"%s"' % url
>>> print url
"http://www.site.com/info.xx"
>>>
Parsing partir d'un fichier:
from __future__ import with_statement
def parseUrlsTXT(filename):
with open(filename, 'r') as f:
for line in f.readlines():
url = '"%s"' % line[:-1]
print url
Utilisation:
parseUrlsTXT('/your/dir/path/URLs.txt')
'.readlines()' est redondant (l'objet 'f' est déjà un itérateur sur les lignes du fichier). 'pour line dans fileinput.input(): print ''% s ''% line.rstrip()' fonctionne à la fois pour les fichiers et stdin. – jfs
Si 'url.txt
' contient une liste des urls, une URL par ligne alors:
citation la première séquence de caractères non-espaces:
$ perl -pe"s~\S+~\"$&\"~" url.txt
ou rogner les espaces et de citer le reste:
$ perl -nE"$_=trim; say qq(\"$_\")" url.txt
Il n'y a pas de fonction de trim en Perl, pas même en 5.10. Peut-être voulez-vous dire perl -nE 's/^ \ s * (. *) \ S * $/$ 1 /; disons qq/"$ _"/'url.txt –
Aussi, selon le shell que vous utilisez, vous devrez peut-être échapper le $ _ dans vos exemples pour empêcher la variable de shell $ _ (plutôt que la variable Perl) d'être interpolé dans le programme. –
Un simple script Perl:
#!/usr/bin/perl
use strict;
use warnings;
while (my $line = <>) {
$line =~ s/\s*(.*)\s*/$1/;
print qq/"$line"\n/;
}
question pourrait être plus claire. Voulez-vous lire dans un fichier texte d'URL (un à une ligne?) Et afficher les mêmes chaînes entre guillemets? – Morendil