Python源文件改写。编写一个程序,读取题5中的Python源程序文件,将文件中所有除保留字外的小写字母换成大写字母,生成后的文件要能够被Python解释器正确执行。
时间: 2024-02-24 21:57:16 浏览: 70
以下是实现题目要求的Python程序代码:
```python
import keyword
def convert_to_uppercase(file_name):
# 读取源文件
with open(file_name, 'r') as f:
source_code = f.read()
# 将除保留字外的小写字母换成大写字母
new_code = ''
for char in source_code:
if char.isalpha() and not keyword.iskeyword(char):
new_code += char.upper()
else:
new_code += char
# 生成目标文件
new_file_name = 'new_' + file_name
with open(new_file_name, 'w') as f:
f.write(new_code)
# 执行目标文件
exec(open(new_file_name).read())
```
该程序定义了一个`convert_to_uppercase`函数,接受一个文件名作为参数。函数首先读取源文件内容,然后遍历每个字符,将除保留字外的小写字母转换成大写字母,并将转换后的代码保存到新文件中。最后,执行新生成的目标文件。
为了测试程序,可以使用以下代码调用`convert_to_uppercase`函数:
```python
convert_to_uppercase('test.py')
```
这里假设源文件名为`test.py`。在执行程序后,会生成一个名为`new_test.py`的新文件,并自动执行该文件。新文件中所有除保留字外的小写字母都会被转换成大写字母。
阅读全文