优化一下for i in range(1,21): data["normalSpeed"] = i / 3.6 for j in range(5,11): data["minTurningRadius"] = j json_str = json.dumps(data) res = requests.post(url, json_str).text filename = 'normalSpeed=' + str(i) +',' + 'minTurningRadius=' + str(j) + '.txt' with open(filename,'w') as file: file.write(res) print('写入成功,速度为' + str(i) +',' + '转弯半径为' + str(j)) time.sleep(10)
时间: 2024-01-06 07:04:17 浏览: 299
ISO/IEC 27005:2011-EN
你可以使用`product`函数来优化这段代码,它可以生成两个范围的笛卡尔积,以避免嵌套循环。同时,你可以使用`f-string`来更简洁地生成文件名。以下是优化后的代码示例:
```python
import json
import requests
import time
from itertools import product
url = 'your_url_here'
data = {}
for i, j in product(range(1, 21), range(5, 11)):
data["normalSpeed"] = i / 3.6
data["minTurningRadius"] = j
json_str = json.dumps(data)
res = requests.post(url, json_str).text
filename = f'normalSpeed={i}, minTurningRadius={j}.txt'
with open(filename, 'w') as file:
file.write(res)
print(f'写入成功,速度为{i},转弯半径为{j}')
time.sleep(10)
```
在上面的代码中,我们使用`product`函数将两个`range`范围进行组合,生成了所有可能的组合。然后,我们遍历每个组合,并在内部循环中设置`data`字典的值。接下来,我们将`data`转换为JSON字符串,并发送POST请求获取响应文本。最后,我们使用`f-string`生成文件名,并将响应文本写入文件中。每次循环后,我们等待10秒钟,然后进行下一次循环。
阅读全文