字符串中的Python格式变量
我有个问题。 我想给变量分配一个路径,所以我这样做了:字符串中的Python格式变量,python,Python,我有个问题。 我想给变量分配一个路径,所以我这样做了: customers = ["john", "steve", "robbert", "benjamin"] for customer in customers: dataset = "/var/www/test.nl/customer_data/" + str({customer}) + ".csv" 所以我希望这个变量的输出是: /var/www/test.nl/customer_data/john.csv 但事实并非如此,因为
customers = ["john", "steve", "robbert", "benjamin"]
for customer in customers:
dataset = "/var/www/test.nl/customer_data/" + str({customer}) + ".csv"
所以我希望这个变量的输出是:
/var/www/test.nl/customer_data/john.csv
但事实并非如此,因为我得到的结果是:
/var/www/test.nl/customer_data/set(['john']).csv
我做错了什么,我该如何解决这个问题?这里,您首先创建一个包含该字符串的单例集。因此,它的格式是错误的。与:
str({customer})
因此,首先构造一个集合,例如:
>>> {"john"}
{'john'}
>>> type({"john"})
<class 'set'>
那么这就是我们要填写的值,而我们只需要字符串customer本身的内容
您可以使用以下格式设置这些文件的格式:
customers = ["john", "steve", "robbert", "benjamin"]
for customer in customers:
dataset = "/var/www/test.nl/customer_data/{}.csv".format(customer)
所以这里{}将替换为customer的字符串表示形式,但是由于customer已经是一个字符串,因此它将简单地填充字符串。这里首先创建一个包含该字符串的单例集。因此,它的格式是错误的。与:
str({customer})
因此,首先构造一个集合,例如:
>>> {"john"}
{'john'}
>>> type({"john"})
<class 'set'>
那么这就是我们要填写的值,而我们只需要字符串customer本身的内容
您可以使用以下格式设置这些文件的格式:
customers = ["john", "steve", "robbert", "benjamin"]
for customer in customers:
dataset = "/var/www/test.nl/customer_data/{}.csv".format(customer)
所以这里{}将替换为customer的字符串表示形式,但是由于customer已经是一个字符串,因此它将简单地填充字符串。customer变量周围有大括号。替换
dataset = "/var/www/test.nl/customer_data/" + str({customer}) + ".csv"
与
更好的是,如果在python 3.6或更高版本上,请使用f字符串:
dataset = f"/var/www/test.nl/customer_data/{customer}.csv"
这可能是您看到用于字符串格式设置的大括号的地方。按照使用它们的方式,您是在内联定义set对象。在客户变量周围有花括号。替换
dataset = "/var/www/test.nl/customer_data/" + str({customer}) + ".csv"
与
更好的是,如果在python 3.6或更高版本上,请使用f字符串:
dataset = f"/var/www/test.nl/customer_data/{customer}.csv"
这可能是您看到用于字符串格式设置的大括号的地方。使用它们的方式是,以内联方式定义集合对象