簡體   English   中英

如何在變量作為文件名的一部分打開python中的文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM