Hướng dẫn how to write numbers in python file - cách viết số trong tệp python

Tôi đang tạo một số số [giả sử,

outf.write[str[num]]
0] và ghi các số vào tệp đầu ra bằng cách sử dụng
outf.write[str[num]]
1

Nhưng trình thông dịch đang ném lỗi:

    outf.write[num]  
TypeError: argument 1 must be string or read-only character buffer, not int.  

Làm thế nào tôi có thể giải quyết vấn đề này?

Gino Mempin

21.4K25 Huy hiệu vàng87 Huy hiệu bạc115 Huy hiệu đồng25 gold badges87 silver badges115 bronze badges

Đã hỏi ngày 22 tháng 6 năm 2012 lúc 17:08Jun 22, 2012 at 17:08

3

Write [] chỉ lấy một đối số chuỗi duy nhất, vì vậy bạn có thể làm điều này:

outf.write[str[num]]

hoặc

outf.write['{}'.format[num]]  # more "modern"
outf.write['%d' % num]        # deprecated mostly

Cũng lưu ý rằng

outf.write[str[num]]
2 sẽ không nối một dòng mới vào đầu ra của bạn, vì vậy nếu bạn cần nó, bạn sẽ phải tự cung cấp nó.

Aside::

Sử dụng định dạng chuỗi sẽ giúp bạn kiểm soát nhiều hơn đối với đầu ra của bạn, vì vậy ví dụ bạn có thể viết [cả hai đều tương đương]:

num = 7
outf.write['{:03d}\n'.format[num]]

num = 12
outf.write['%03d\n' % num]          

Để có được ba không gian, với số 0 hàng đầu cho giá trị số nguyên của bạn, theo sau là một dòng mới:

007
012

Định dạng [] sẽ tồn tại trong một thời gian dài, vì vậy nó đáng để học/biết.

Đã trả lời ngày 22 tháng 6 năm 2012 lúc 17:10Jun 22, 2012 at 17:10

LevonlevonLevon

Huy hiệu vàng 133K3333 gold badges198 silver badges187 bronze badges

3

Bất kỳ trong số này sẽ hoạt động

outf.write["%s" % num]

outf.write[str[num]]

print >> outf, num

Joaquin

79,9K28 Huy hiệu vàng137 Huy hiệu bạc151 Huy hiệu đồng28 gold badges137 silver badges151 bronze badges

Đã trả lời ngày 22 tháng 6 năm 2012 lúc 17:12Jun 22, 2012 at 17:12

Joran Beasleyjoran BeasleyJoran Beasley

106K12 Huy hiệu vàng149 Huy hiệu bạc174 Huy hiệu đồng12 gold badges149 silver badges174 bronze badges

2

i = Your_int_value

Viết giá trị byte như thế này: ví dụ:

the_file.write[i.to_bytes[2,"little"]]

Phụ thuộc vào kích thước giá trị int của bạn và thứ tự bit thích của bạn

Đã trả lời ngày 26 tháng 1 năm 2018 lúc 13:33Jan 26, 2018 at 13:33

1

Ngoài ra, bạn có thể sử dụng định dạng F-String để ghi số nguyên vào tệp

Để sử dụng mã sau, để viết một lần thay thế 'A' bằng 'W'.

for i in s_list:
    with open['path_to_file','a'] as file:
        file.write[f'{i}\n']

file.close[]

Paul Roub

36.1k27 Huy hiệu vàng81 Huy hiệu bạc88 Huy hiệu đồng27 gold badges81 silver badges88 bronze badges

Đã trả lời ngày 19 tháng 8 năm 2019 lúc 21:37Aug 19, 2019 at 21:37

0

f = open ['file1.txt','a'] ##you can also write here 'w' for create or writing into file
while True :
    no = int[input["enter a number [0 for exit]"]]
    if no == 0 :
        print["you entered zero[0] ....... \nnow you are exit  !!!!!!!!!!!"]
        break
    else :
        f.write[str[no]+"\n"]

f.close[]
   
f1 = open ['Ass1.txt','r']

print["\n content of file :: \n",f1.read[]]

f1.close[]
   

Đã trả lời ngày 21 tháng 4 năm 2021 lúc 8:07Apr 21, 2021 at 8:07

Làm thế nào để bạn viết 1e 6 trong Python?

Để viết một bản theo nghĩa đen trong ký hiệu E, nhập một số theo sau là chữ E và sau đó là một số khác.Python đưa số ở bên trái của E và nhân số nó với 10 được nâng lên công suất của số sau E.Vì vậy, 1e6 tương đương với 1 × 10⁶.1×10⁶.

Làm thế nào để bạn viết một số nguyên trong Python?

Loại int [x] để chuyển đổi x thành số nguyên đơn giản.Nhập dài [x] để chuyển đổi x thành số nguyên dài.Loại float [x] để chuyển đổi x thành số điểm nổi.Loại phức [x] để chuyển đổi x thành số phức với phần X thực và phần không tưởng tượng.. Type long[x] to convert x to a long integer. Type float[x] to convert x to a floating-point number. Type complex[x] to convert x to a complex number with real part x and imaginary part zero.

Làm thế nào để bạn có được một số trong Python?

Python 3 ...
a = int [input ["Nhập một số nguyên:"]].
b = int [input ["nhập một số nguyên:"]].
in ["tổng của a và b:", a + b].
in ["Nhân A và B:", A * B].

Bài Viết Liên Quan

Chủ Đề