write() zajmuje tylko pojedynczy łańcuch argumentu, więc można to zrobić:
outf.write(str(num))
lub
outf.write('{}'.format(num)) # more "modern"
outf.write('%d' % num) # deprecated mostly
Należy również pamiętać, że write
nie dołączy do nowej linii do produkcji, więc jeśli potrzebujesz go, musisz to dostarczyć samemu.
Poza:
Korzystanie formatowanie ciąg nie daje większą kontrolę nad swoim wyjściu, więc na przykład można napisać (oba te są równoważne):
num = 7
outf.write('{:03d}\n'.format(num))
num = 12
outf.write('%03d\n' % num)
dostać trzy przestrzenie, z wiodącymi zerami do swojej wartości całkowitej następnie przez nową linię:
007
012
format() w choruj przez długi czas, więc warto się uczyć/wiedzieć.
się .write (str (num)) – joaquin
Naucz się czytać komunikaty o błędach! "Argument musi być ciągiem, a nie int" –
Czy zamieściłbyś deklarację wyjścia? – octopusgrabbus