赵灵越 2024-04-05 15:21 采纳率: 99.3%
浏览 2
已结题

sh写代码,在安卓手机temunx高级终端执行,别用机器人,回答都是错的

输入多行文本
按“# ꧂ ꧁”结束


1. **输入文本内容**:
   - 这是用户在控制台输入的实际文本内容。用户可以输入任何文本,包括文字、数字、标点符号等。

2. **文件夹路径 (`TEXT_DIR`):**
   - 这是用于保存文本文件的目录路径。
   - 在脚本中,指定了一个名为`TEXT_DIR`的变量来表示文件夹路径。
   - 例如,`/storage/emulated/0/zm/txt文本/`是一个文件夹路径的示例。

3. **文件名的生成:**
   - 文件名由多个部分组成,包括文件夹编号、文本内容、时间信息。
   - **文件夹编号:**
     - 根据已存在的文件夹数量生成,用于区分不同的文件夹。
   - **文本内容部分:**
     - 从输入的文本内容中提取第一行的部分。
     - 如果文本内容包含了汉字字符和标点符号,则提取第一个汉字字符到第一个标点符号之间的内容,包括空格和回车。
     - 非法字符将被替换为下划线。
   - **时间信息:**
     - 使用当前时间作为文件名的一部分,以确保文件名的唯一性。
     - 时间格式为`年-月-日 时-分-秒`。

4. **保存的文本文件:**
   - 将输入的文本内容保存到指定目录中的文本文件中。
   - 文件名由文件夹编号、文本内容、时间信息组成。
   - 文件名示例:`1_文本内容_2024-04-05 08-30-00.txt`。
  • 写回答

1条回答 默认 最新

  • 关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    解决方案如下:

    1. 创建一个字符串变量来存储用户在控制台输入的文本内容。
    text = ''
    
    1. 创建一个字符串变量来存储文件夹路径。
    TEXT_DIR = '/storage/emulated/0/zm/txt文本/'
    
    1. 创建一个函数来生成文件名。
    import os
    import time
    
    def generate_filename(text):
        # 获取已存在的文件夹数量
        folder_count = len(os.listdir(TEXT_DIR))
        
        # 提取第一行文本内容中的部分
        first_line = text.split('\n')[0]
        
        # 提取汉字字符和标点符号之间的内容
        start_index = None
        end_index = None
        
        for i in range(len(first_line)):
            if start_index is None and first_line[i].isalnum():
                start_index = i
            elif end_index is None and not first_line[i].isalnum():
                end_index = i
        
        if start_index is None or end_index is None:
            content_part = ''
        else:
            content_part = first_line[start_index:end_index]
        
        # 替换非法字符为下划线
        content_part = content_part.replace('*', '_')
        content_part = content_part.replace('#', '_')
        content_part = content_part.replace('꧂', '_')
        content_part = content_part.replace('꧁', '_')
        
        # 获取当前时间
        current_time = time.strftime('%Y-%m-%d %H-%M-%S', time.localtime())
        
        # 生成文件名
        filename = f'{folder_count}_{content_part}_{current_time}.txt'
        
        return filename
    
    1. 创建一个函数来保存文本内容到指定目录的文件中。
    def save_text_to_file(text):
        # 生成文件名
        filename = generate_filename(text)
        
        # 构建文件路径
        filepath = os.path.join(TEXT_DIR, filename)
        
        # 写入文本内容
        with open(filepath, 'w') as file:
            file.write(text)
    
    1. 使用一个循环来不断读取用户输入的多行文本,并根据输入结束标志来决定是否退出循环。
    while True:
        line = input()
        if line == '# ꧂ ꧁':
            break
        text += line + '\n'
    
    1. 调用函数将文本内容保存到文件中。
    save_text_to_file(text)
    

    完整代码示例:

    import os
    import time
    
    TEXT_DIR = '/storage/emulated/0/zm/txt文本/'
    
    def generate_filename(text):
        folder_count = len(os.listdir(TEXT_DIR))
        first_line = text.split('\n')[0]
        start_index = None
        end_index = None
        
        for i in range(len(first_line)):
            if start_index is None and first_line[i].isalnum():
                start_index = i
            elif end_index is None and not first_line[i].isalnum():
                end_index = i
        
        if start_index is None or end_index is None:
            content_part = ''
        else:
            content_part = first_line[start_index:end_index]
        
        content_part = content_part.replace('*', '_')
        content_part = content_part.replace('#', '_')
        content_part = content_part.replace('꧂', '_')
        content_part = content_part.replace('꧁', '_')
        
        current_time = time.strftime('%Y-%m-%d %H-%M-%S', time.localtime())
        
        filename = f'{folder_count}_{content_part}_{current_time}.txt'
        
        return filename
    
    def save_text_to_file(text):
        filename = generate_filename(text)
        filepath = os.path.join(TEXT_DIR, filename)
        
        with open(filepath, 'w') as file:
            file.write(text)
    
    text = ''
    
    while True:
        line = input()
        if line == '# ꧂ ꧁':
            break
        text += line + '\n'
    
    save_text_to_file(text)
    

    这段代码可以在安卓手机的Termux高级终端上执行,并按要求保存输入的多行文本。请确保安卓手机中已安装了Termux应用,并通过Termux的终端界面来执行这段代码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月5日

悬赏问题

  • ¥20 ic卡dump文件校检码解密
  • ¥15 关于:接收到的数据不是有效的JSON格式
  • ¥15 apdl语言如何增加受力分析
  • ¥15 算法对比:学校优化算法与蚁群算法对比
  • ¥15 机电一体化系统设计说明书
  • ¥20 sgy数据提取地震波速,有人能回答吗小馋
  • ¥20 c#实现打开word的功能,并且需要安装成windows服务,word打不开怎么办
  • ¥15 python用ARIMA时间预测模型预测数据出错,急!
  • ¥30 为什么后端传给前端vue的河流json数据不在地图中显示出来
  • ¥50 关于弹性波动方程求解的问题: