python 文件夹的行数代码
时间: 2024-10-12 11:07:16 浏览: 32
在Python中,直接计算文件夹内所有文本文件总行数可能会有些复杂,因为需要遍历整个目录及其子目录,并逐行读取每个文本文件的内容。下面是一个简单的递归函数示例,它会统计给定路径下所有`.txt`文件的总行数:
```python
import os
def count_lines_in_folder(folder_path):
total_lines = 0
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.txt'):
with open(os.path.join(root, file), 'r', encoding='utf-8') as f:
total_lines += sum(1 for line in f)
return total_lines
folder_to_check = '/path/to/your/folder' # 替换为你实际的文件夹路径
total_rows = count_lines_in_folder(folder_to_check)
print(f"文件夹 '{folder_to_check}' 中的.txt文件总共有 {total_rows} 行.")
相关问题
用python统计文件夹内代码文件的代码行数
在Python中,你可以使用`os`和`linecache`模块来统计文件夹内的所有Python文件(`.py`)的代码行数。以下是一个简单的脚本示例:
```python
import os
import linecache
def count_lines_in_folder(folder_path):
total_lines = 0
for root, dirs, files in os.walk(folder_path):
for file_name in files:
if file_name.endswith('.py'):
with open(os.path.join(root, file_name), 'r') as f:
total_lines += sum(1 for _ in f)
return total_lines
folder_to_analyze = '/path/to/your/folder' # 替换为你需要分析的文件夹路径
total_code_lines = count_lines_in_folder(folder_to_analyze)
print(f"文件夹 '{folder_to_analyze}' 中 Python 文件的总行数: {total_code_lines}")
在ubuntu18.04下,基于python3写一个可以统计某文件夹内所有文件的类型、总代码行数、总注释行数的代码,文件夹名字作为程序输入
你可以使用 Python 的 os 模块和 glob 模块来获取文件夹内的文件列表,然后通过文件后缀名来判断文件类型。接着,你可以使用 Python 的注释解析库来统计文件中的代码行数和注释行数。
下面是一个示例代码,仅供参考:
```
import os
import glob
import comment_parser
def count_lines(filename):
# 使用 comment_parser 库解析文件的注释和代码行
with open(filename, 'r') as f:
comments, _, blank, code = comment_parser.parse(f.read())
# 统计文件总行数、注释行数和代码行数
total_lines = len(comments) + len(blank) + len(code)
comment_lines = len(comments)
code_lines = len(code)
return total_lines, comment_lines, code_lines
def main():
# 获取文件夹名称
folder_name = input('Enter the folder name: ')
# 获取文件夹内的文件列表
file_list = glob.glob(os.path.join(folder_name, '*'))
# 初始化总行数、注释行数和代码行数
total_lines = 0
comment_lines = 0
code_lines = 0
# 遍历文件列表
for file in file_list:
# 判断文件类型
if file.endswith('.py'):
file_type = 'Python'
elif file.endswith('.c'):
file_type = 'C'
elif file.endswith('.cpp'):
file_type = 'C++'
else:
file_type = 'Other'
# 统计文件的行数
lines, comments, codes = count_lines(file)
total_lines += lines
comment_lines += comments
code_lines += codes
# 输出文件信息
print(f'{file}: {file_type}, {lines} lines, {comments} comments, {codes} code lines')
# 输出总信
阅读全文