Hướng dẫn python filename contains variable - tên tệp python chứa biến

Tôi muốn chạy một hàm trên một vòng lặp và tôi muốn lưu trữ các đầu ra trong các tệp khác nhau, sao cho tên tệp chứa biến vòng lặp. Đây là một ví dụ

for i in xrange(10):
   f = open("file_i.dat",'w')
   f.write(str(func(i))
   f.close()

Làm thế nào tôi có thể làm điều đó trong Python?

Hỏi ngày 24 tháng 9 năm 2012 lúc 7:30Sep 24, 2012 at 7:30

Hướng dẫn python filename contains variable - tên tệp python chứa biến

0

Chỉ cần xây dựng tên tệp với +str. Nếu bạn muốn, bạn cũng có thể sử dụng định dạng kiểu cũ hoặc kiểu mới để làm như vậy, vì vậy tên tệp có thể được xây dựng như:

"file_" + str(i) + ".dat"
"file_%s.dat" % i
"file_{}.dat".format(i)

Lưu ý rằng phiên bản hiện tại của bạn không chỉ định mã hóa (bạn nên) và không đóng tệp chính xác trong các trường hợp lỗi (câu lệnh with làm điều đó):

import io
for i in xrange(10):
   with io.open("file_" + str(i) + ".dat", 'w', encoding='utf-8') as f:
       f.write(str(func(i))

Đã trả lời ngày 24 tháng 9 năm 2012 lúc 7:32Sep 24, 2012 at 7:32

Phihagphihagphihag

269K68 Huy hiệu vàng441 Huy hiệu bạc464 Huy hiệu đồng68 gold badges441 silver badges464 bronze badges

Sử dụng

"file_" + str(i) + ".dat"
"file_%s.dat" % i
"file_{}.dat".format(i)
0. Trên thực tế, bạn có thể muốn sử dụng một cái gì đó như
"file_" + str(i) + ".dat"
"file_%s.dat" % i
"file_{}.dat".format(i)
1, sẽ không có tên để giữ nó ở hai chữ số (để bạn nhận được "file_01" thay vì "file_1", có thể tốt để sắp xếp sau). Xem tài liệu.

Đã trả lời ngày 24 tháng 9 năm 2012 lúc 7:33Sep 24, 2012 at 7:33

Hướng dẫn python filename contains variable - tên tệp python chứa biến

BrenbarnbrenbarnBrenBarn

Phù thủy vàng 234K3535 gold badges397 silver badges375 bronze badges

Concatenate biến

"file_" + str(i) + ".dat"
"file_%s.dat" % i
"file_{}.dat".format(i)
2 vào một chuỗi như sau:

f = open("file_"+str(i)+".dat","w")

HOẶC

f = open("file_"+`i`+".dat","w") # (`i`) - These are backticks, not the quotes.

Xem ở đây để biết các kỹ thuật khác có sẵn.

Kunal Vyas

1.4311 huy hiệu vàng23 Huy hiệu bạc40 Huy hiệu đồng1 gold badge23 silver badges40 bronze badges

Đã trả lời ngày 24 tháng 9 năm 2012 lúc 7:33Sep 24, 2012 at 7:33

BrenbarnbrenbarnAzodious

Phù thủy vàng 234K351 gold badge34 silver badges68 bronze badges

1

Concatenate biến

"file_" + str(i) + ".dat"
"file_%s.dat" % i
"file_{}.dat".format(i)
2 vào một chuỗi như sau:

for i in xrange(10):
   with open('file_{0}.dat'.format(i),'w') as f:
       f.write(str(func(i)))

Đã trả lời ngày 24 tháng 9 năm 2012 lúc 7:33Sep 24, 2012 at 7:33

BrenbarnbrenbarnBurhan Khalid

Phù thủy vàng 234K3518 gold badges238 silver badges276 bronze badges

Concatenate biến
"file_" + str(i) + ".dat"
"file_%s.dat" % i
"file_{}.dat".format(i)
2 vào một chuỗi như sau:

  • HOẶC
  • Xem ở đây để biết các kỹ thuật khác có sẵn.
  • Kunal Vyas
  • 1.4311 huy hiệu vàng23 Huy hiệu bạc40 Huy hiệu đồng
    • "file_" + str(i) + ".dat"
      "file_%s.dat" % i
      "file_{}.dat".format(i)
      
      5
  • Azodiousazodious
    • Huy hiệu vàng 13.7K1
  • Thử cái này:
  • Burhan Khalidburhan Khalid
def func(i):
    return i**2

for i in range(10):
    with open(f"file_{i}.dat", 'w') as f:
        f.write(f'{func(i)}')

165K18 Huy hiệu vàng238 Huy hiệu bạc276 Huy hiệu ĐồngJun 20, 2020 at 20:26

Hướng dẫn python filename contains variable - tên tệp python chứa biến

Sử dụng dây F.Trenton McKinney

Đây là triển khai đơn giản nhất và gần đây nhất của định dạng chuỗi.31 gold badges119 silver badges131 bronze badges