[英]How do i open files in python with variable as part of filename?
文件名號為1-32的東西,我想按順序打開它們,如:
i = 1
while i < 32:
filename = "C:\\Documents and Settings\\file[i].txt"
f = open(filename, 'r')
text = f.read()
f.close()
但這會查找文件“file [i] .txt”而不是file1.txt,file2.txt等等。 我如何使變量成為雙引號內的變量? 是的,我知道它沒有縮進,請不要認為我是愚蠢的。
我認為這可能有用:構建文件名就像你構建包含變量的任何其他字符串一樣:
filename = "C:\\Documents and Settings\\file" + str( i ) + ".txt"
或者如果您需要更多選項來格式化數字:
filename = "C:\\Documents and Settings\\file%d.txt" % i
你已經提供了答案。 順便說一句,使用with
上下文管理器的手動調用,而不是close()
:
i = 1
while i < 32:
filename = "C:\\Documents and Settings\\file%d.txt" % i
with open(filename, 'r') as f:
print(f.read())
首先,將您的循環更改為while i <= 32
否則您將使用其名稱中的32排除該文件。 您的第二個選項filename = "C:\\\\Documents and Settings\\\\file%d.txt" % i
應該可以使用。
如果文件中的數字是0填充的,例如'file01.txt','file02.txt',則可以使用%.2d
而不是普通的舊%d
是的,你提供的選項會起作用,為什么不試試呢?
filename = "C:\\Documents and Settings\\file" + str( i ) + ".txt"
要么
filename = "C:\\Documents and Settings\\file%d.txt" % i
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.