Gunakan rentetan terformat secara literal untuk mencipta nama fail menggunakan pembolehubah, seperti f'{variable}.txt'
. Literal rentetan terformat membolehkan kita memasukkan ungkapan dan pembolehubah dalam rentetan dengan mendahuluinya dengan f.
file_name = 'example' print(f'{file_name}.txt') # ????️ example.txt with open(f'{file_name}.txt', 'w', encoding='utf-8') as f: f.write('first line' + '\n') f.write('second line' + '\n')
Kami menggunakan literal rentetan terformat untuk mencipta nama fail menggunakan pembolehubah.
Rentetan Terformat
f-strings
Mari masukkan ungkapan dalam rentetan dengan menambahkannya dengan f.
var1 = 'fql' var2 = 'jiyik' result = f'{var1}{var2}.csv' print(result) # ????️ fqljiyik.csv
file_name = 'example' integer = 1234 print(f'{file_name}_{integer}.txt') # ????️ example_1234.txt with open(f'{file_name}_{integer}.txt', 'w', encoding='utf-8') as f: f.write('first line' + '\n') f.write('second line' + '\n')
Tersurat rentetan yang diformatkan juga membolehkan kami menggunakan ungkapan dalam pendakap kerinting.
Ini ialah contoh menggunakan kaedah time.time()
untuk membina nama fail.
import time timestamp = int(time.time()) file_name = 'example' print(f'{file_name}_{timestamp}.txt') # ????️ example_1665817197.txt with open(f'{file_name}_{timestamp}.txt', 'w', encoding='utf-8') as f: f.write('first line' + '\n') f.write('second line' + '\n')
Kami menggunakan kaedah time.time()
untuk mendapatkan saat sejak zaman.
Kami juga boleh memanggil fungsi secara terus antara pendakap kerinting.
Cara lain ialah menggunakan pengendali aditif +
.
Buat nama fail menggunakan pembolehubah menggunakan pengendali tambahan +
, contohnya file_name + '.csv'
. Operator tambahan +
boleh digunakan untuk menggabungkan rentetan dengan rentetan yang disimpan dalam pembolehubah.
import csv file_name = 'example' with open(file_name + '.csv', 'w', newline='', encoding='utf-8') as csvfile: csv_writer = csv.writer(csvfile, delimiter=',', quoting=csv.QUOTE_MINIMAL) csv_writer.writerow(['www', 'jiyik', 'Com'])
Apabila pengendali tambahan +
digunakan dengan rentetan, ia menggabungkannya.
print('ab' + 'cd') # ????️ abcd
但是
, apabila kita menggunakan operator penambahan, kita perlu memastikan bahawa nilai di kiri dan kanan adalah rentetan.
Jika pembolehubah menyimpan integer, gunakan fungsi str()
untuk menukarnya kepada rentetan.
file_name = 123456 result = str(file_name) + '.csv' print(result) # ????️ 123456.csv
Ini perlu kerana nilai di sebelah kiri dan kanan pengendali penambahan perlu daripada jenis yang serasi.
Ini tidak berlaku apabila menggunakan f-strings kerana ia secara automatik mengendalikan penukaran untuk kita.
Kami juga boleh mencipta nama fail menggunakan pembolehubah menggunakan kaedah str.format()
.
Gunakan kaedah str.format()
untuk mencipta nama fail menggunakan pembolehubah, seperti '{}.txt'.format(file_name)
. Rentetan yang kaedah ini dipanggil boleh mengandungi medan gantian yang ditentukan menggunakan pendakap kerinting. Kaedah
file_name = 'example' print('{}.txt'.format(file_name)) # ????️ example.txt with open('{}.txt'.format(file_name), 'w', encoding='utf-8') as f: f.write('first line' + '\n') f.write('second line' + '\n')
str.format()
melaksanakan operasi pemformatan rentetan.
first = 'fql' last = 'jiyik' result = "{}_{}.txt".format(first, last) print(result) # ????️ "fql_jiyik.txt"
Rentetan yang memanggil kaedah ini boleh mengandungi medan gantian yang ditentukan menggunakan pendakap kerinting {}
.
Medan gantian juga boleh mengandungi nama hujah kata kunci.
first = 'fql' last = 'jiyik' result = "{f}_{l}.txt".format(f=first, l=last) print(result) # ????️ "fql_jiyik.txt"
Kita juga boleh memanggil fungsi untuk menentukan nilai medan gantian. Kaedah
import time first = 'jiyik' result = "{}_{}.txt".format(first, int(time.time())) print(result) # ????️ "jiyik_1665817957.txt"
请注意
,str.format()
akan menukar integer kepada rentetan secara automatik apabila memformat.
Kaedah yang kami pilih adalah soal keutamaan peribadi. Saya akan menggunakan literal rentetan yang diformat kerana saya mendapati ia sangat mudah dibaca dan intuitif.
Atas ialah kandungan terperinci Cara menggunakan pembolehubah untuk mencipta nama fail dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!