📌  相关文章
📜  Python程序将文件中每个单词的第一个字母大写(1)

📅  最后修改于: 2023-12-03 15:34:31.741000             🧑  作者: Mango

Python程序将文件中每个单词的第一个字母大写

本程序可以将文本文件中每个单词的第一个字母大写。

使用方法
  1. 准备一个文本文件,例如 text.txt
  2. 将本程序保存为 capitalize.py
  3. text.txtcapitalize.py 放在同一个文件夹下。
  4. 在命令行或终端中运行命令 python capitalize.py text.txt
代码
import sys

def capitalize_word(word):
    return word[0].upper() + word[1:]

if __name__ == '__main__':
    if len(sys.argv) != 2:
        print('Usage: python capitalize.py <input_file>')
        sys.exit(1)

    input_file = sys.argv[1]
    output_file = input_file[:-4] + '_capitalized.txt'
    
    try:
        with open(input_file, 'r') as f:
            text = f.read()
    except FileNotFoundError:
        print(f'Error: File not found: {input_file}')
        sys.exit(1)

    words = text.split()
    words_capitalized = [capitalize_word(word) for word in words]
    text_capitalized = ' '.join(words_capitalized)
    
    with open(output_file, 'w') as f:
        f.write(text_capitalized)

    print(f'Success: {output_file} created.')
代码说明
  1. import sys 导入系统模块,其中包含 sys.argv
  2. capitalize_word(word) 函数接收一个单词,返回将该单词的第一个字母大写的字符串。
  3. if __name__ == '__main__': 判断是否在命令行中运行本程序。
  4. if len(sys.argv) != 2: 检查是否提供了正确的参数数量。
  5. input_file = sys.argv[1] 获取输入文件名。
  6. output_file = input_file[:-4] + '_capitalized.txt' 设置输出文件名。
  7. with open(input_file, 'r') as f: 打开输入文件,读取文本。
  8. words = text.split() 将文本拆分成单词列表。
  9. words_capitalized = [capitalize_word(word) for word in words] 映射 capitalize_word 函数到单词列表,以创建一个新的已大写首字母的单词列表。
  10. text_capitalized = ' '.join(words_capitalized) 使用空格将单词列表合并成一个字符串。
  11. with open(output_file, 'w') as f: 创建输出文件,将大写首字母的文本写入文件。
  12. print(f'Success: {output_file} created.') 提示用户输出文件已创建。
注意事项
  1. 本程序只能处理简单的文本文件,不支持复杂的格式(例如 PDF)或二进制文件。
  2. 本程序目前只支持英文,不支持其他语言的文本。