Grâce à des tutoriels que j'avais appris que vous pouvez définir deux variables dans la même déclaration, .: par exemplecomment ces deux variables sont-elles déballées?
In [15]: a, b = 'hello', 'hi!'
In [16]: a
Out[16]: 'hello'
In [17]: b
Out[17]: 'hi!'
bien
comment cela s'applique ici?
fh, opened = cbook.to_filehandle(fname, 'w', return_opened = True)
Je poussé plus loin:
In [18]: fh
Out[18]: <open file 'attempt.csv', mode 'w' at 0xaac89d0>
In [19]: opened
Out[19]: True
mon problème vient vraiment avec 'ouvert'. Normalement, si deux variables sont en train d'être définies, il y aurait une virgule et tout ce qui est défini ici sera défini comme «ouvert». Ce n'est pas le cas. Même avec ce problème imminent, 'ouvert' est égal à Vrai ce que je suppose est parce que 'return_opened = True'. Eh bien c'est bizarre parce que je ne me souviens pas dans un tutoriel que vous pourriez simplement ajouter un «retour» avant qu'une variable affecte cette variable.
Je joue avec elle un peu plus et je change le vrai False et j'obtiens ceci:
In [10]: fh, opened = cbook.to_filehandle(fname, 'w', return_opened = False)
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
/home/blahblahblah/Documents/Programming/EXERCISES/piece.py in <module>()
----> 1
2
3
4
5
IOError: [Errno 9] Bad file descriptor
donc je suppose qu'il accepte seulement Faux.
Je suppose que je voudrais que quelqu'un puisse expliquer ce qui se passe ici.
Gracias amigos!
est ici le code entier:
if missingd is None:
missingd = dict()
def with_mask(func):
def newfunc(val, mask, mval):
if mask:
return mval
else:
return func(val)
return newfunc
formatd = get_formatd(r, formatd)
funcs = []
for i, name in enumerate(r.dtype.names):
funcs.append(with_mask(csvformat_factory(formatd[name]).tostr))
fh, opened = cbook.to_filehandle(fname, 'w', return_opened=True)
writer = csv.writer(fh, delimiter=delimiter)
header = r.dtype.names
writer.writerow(header)
# Our list of specials for missing values
mvals = []
for name in header:
mvals.append(missingd.get(name, missing))
ismasked = False
if len(r):
row = r[0]
ismasked = hasattr(row, '_fieldmask')
for row in r:
if ismasked:
row, rowmask = row.item(), row._fieldmask.item()
else:
rowmask = [False] * len(row)
writer.writerow([func(val, mask, mval) for func, val, mask, mval
in zip(funcs, row, rowmask, mvals)])
if opened:
fh.close()