用Python编写读入图片的程序
时间: 2024-05-12 22:15:13 浏览: 122
可以使用Python的Pillow库来读取图片。以下是一个读取图片的示例代码:
```python
from PIL import Image
# 打开图片文件
img = Image.open('image.jpg')
# 显示图片
img.show()
# 获取图片信息
width, height = img.size
format = img.format
mode = img.mode
# 关闭图片文件
img.close()
```
在上面的代码中,首先使用`Image.open()`方法打开了名为`image.jpg`的图片文件,然后使用`show()`方法显示了图片,获取了图片的宽度、高度、格式和色彩模式等信息,最后使用`close()`方法关闭了图片文件。
相关问题
用python编写读入Python源程序文件practice.py,删除程序中的注释后显示。
可以使用Python自带的ast模块来实现读入Python源程序文件并删除注释的功能。以下是示例代码:
```python
import ast
def remove_comments(node):
"""
删除注释节点
"""
if isinstance(node, ast.AST):
# 删除注释节点
if isinstance(node, ast.Expr) and isinstance(node.value, ast.Constant) and isinstance(node.value.value, str):
if node.value.value.startswith("#"):
return None
# 递归处理子节点
for field, old_value in ast.iter_fields(node):
if isinstance(old_value, list):
new_values = []
for value in old_value:
if isinstance(value, ast.AST):
value = remove_comments(value)
if value is not None:
new_values.append(value)
node.__setattr__(field, new_values)
elif isinstance(old_value, ast.AST):
new_value = remove_comments(old_value)
if new_value is None:
delattr(node, field)
else:
node.__setattr__(field, new_value)
return node
if __name__ == '__main__':
# 读入Python源程序文件
with open("practice.py", "r") as f:
source_code = f.read()
# 解析源程序为AST(抽象语法树)
tree = ast.parse(source_code)
# 删除注释节点
remove_comments(tree)
# 生成新的Python源程序文件
new_source_code = ast.unparse(tree)
# 显示新的Python源程序文件
print(new_source_code)
```
需要注意的是,这段代码只会删除单行注释(以`#`开头的注释),而不会删除多行注释(以`'''`或`"""`包裹的注释)。如果需要删除多行注释,可以在`remove_comments`函数中添加相应的处理逻辑。
用python编写一个程序读入一个python源文件并统计文件中每个关键字的出现次数。程序提示用户输入python源程序文件名称
在Python中,你可以使用内置的`open()`函数打开文件,并利用`collections`模块中的`Counter`类来统计关键字的出现次数。下面是一个简单的示例程序,它会提示用户输入Python源文件名,并计算其中的关键字(这里假设关键字是Python的保留字):
```python
import string
from collections import Counter
# Python的保留字列表
keywords = list(string.ascii_lowercase + 'async def else except for lambda nonlocal pass raise try while yield')
def count_keywords_in_file(file_name):
with open(file_name, 'r', encoding='utf-8') as file:
content = file.read().lower() # 转换为小写以便不区分大小写
word_list = content.split()
keyword_counts = Counter(word for word in word_list if word in keywords)
return keyword_counts
if __name__ == '__main__':
file_name = input("请输入Python源程序文件名称: ")
result = count_keywords_in_file(file_name)
print(f"文件 '{file_name}' 中各个关键字的出现次数为:")
for keyword, count in result.items():
print(f"{keyword}: {count}")
```
运行此程序后,按照提示输入文件名,它将显示该文件中Python保留字的出现次数。
阅读全文