python扫描文件,每下载一个统计一次,没下载成功,重新下载
时间: 2023-04-04 15:00:30 浏览: 72
您好,这个问题可以使用Python的文件操作和网络请求库来实现。可以使用os模块中的walk函数遍历文件夹中的文件,使用requests库发送网络请求,如果下载成功则进行统计,如果下载失败则重新下载。具体实现可以参考Python官方文档和相关教程。
相关问题
编写一个程序读入一个Python源程序文件并统计文件中每个关键字的出现次数。程序提示用户输入Python源程序文件名称。
编写一个简单的Python程序来统计给定Python源文件中每个关键字的出现次数,你可以使用内置的`open()`函数打开文件,然后逐行扫描,利用`count()`方法计算关键字的数量。以下是一个基本的实现:
```python
# 定义一个包含Python关键字的列表
keywords = ['if', 'for', 'while', 'def', 'import', 'class', 'return', 'else', 'try', 'except']
def count_keywords(file_name):
# 打开文件并读取内容
with open(file_name, 'r') as file:
lines = file.readlines()
# 创建一个字典来存储关键字及其计数
keyword_counts = {keyword: 0 for keyword in keywords}
# 遍历每一行,检查是否包含关键字,并更新计数
for line in lines:
for keyword in keywords:
if keyword in line.lower(): # 将所有字符转为小写进行比较,确保大小写无关
keyword_counts[keyword] += 1
return keyword_counts
# 获取用户输入的文件名
file_name = input("请输入Python源程序文件名称: ")
result = count_keywords(file_name)
# 输出结果
print("各关键字在文件中的出现次数:")
for keyword, count in result.items():
print(f"{keyword}: {count}")
写一个python3程序,该程序统计所有cpp文件的头文件,所有头文件都在当前工作路径下的data文件夹里,文件后缀都为.h。要求扫描出所有c++语言定义的接口信息,并生成excel
表格,表格包括两列:头文件名和接口名。
下面是可能的实现方式:
```python
import os
import re
import xlsxwriter
# 扫描所有cpp文件,找出包含的头文件
headers = set()
for root, dirs, files in os.walk("data"):
for file in files:
if file.endswith(".cpp"):
path = os.path.join(root, file)
with open(path) as f:
content = f.read()
matches = re.findall(r"#include\s+\"(.+\.h)\"", content)
headers.update(matches)
# 扫描所有头文件,找出接口信息
interfaces = []
for header in headers:
path = os.path.join("data", header)
with open(path) as f:
content = f.read()
matches = re.findall(r"^\s*(\w+)\s+\**(\w+)\s*\(", content, re.MULTILINE)
for match in matches:
interfaces.append((header, match[1]))
# 生成excel表格
workbook = xlsxwriter.Workbook("interfaces.xlsx")
worksheet = workbook.add_worksheet()
worksheet.write(0, 0, "Header")
worksheet.write(0, 1, "Interface")
for i, (header, interface) in enumerate(interfaces):
worksheet.write(i + 1, 0, header)
worksheet.write(i + 1, 1, interface)
workbook.close()
```
这个程序首先扫描所有cpp文件,找出包含的头文件。然后,对于每个头文件,扫描出其中定义的接口信息,并将其存储在一个列表中。最后,使用`xlsxwriter`库生成excel表格,将头文件名和接口名分别写入两列。
阅读全文