You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python遍历目录文件,将无后缀文件名作为变量存储文件内容

嘿,这个需求我之前也帮人处理过,分两种常用场景给你方案,看你用哪种语言来实现~

Python 实现方案

如果你用Python的话,推荐用os模块来遍历文件,这里有两种方式:直接创建全局变量,或者用字典存储(更安全,避免变量名冲突)。

import os

# 遍历当前目录下所有.txt文件
for filename in os.listdir('.'):
    if filename.endswith('.txt'):
        # 提取不带扩展名的文件名作为变量名
        var_name = os.path.splitext(filename)[0]
        # 读取文件内容(指定编码避免乱码,根据你的文件编码调整)
        with open(filename, 'r', encoding='utf-8') as f:
            file_content = f.read()
        
        # 方式1:直接创建全局变量,之后可以直接用dataset1、dataset2这类变量名
        globals()[var_name] = file_content
        
        # 方式2:用字典统一管理(更推荐,防止覆盖已有变量)
        # file_contents = {}
        # file_contents[var_name] = file_content

# 测试一下,比如打印dataset1的内容
print(dataset1)

小提示

  • 如果你的文件名里包含空格或者特殊字符,os.path.splitext也能正常处理,不用额外担心。
  • 如果文件是GBK等其他编码,把encoding='utf-8'改成对应的编码即可。
  • 用字典存储的话,后续可以通过file_contents['dataset1']来访问内容,更可控。
Bash 脚本实现方案

要是你在Linux/macOS终端下用Shell脚本处理,用循环加declare命令就能动态创建变量:

#!/bin/bash

# 遍历当前目录下所有.txt文件
for file in *.txt; do
    # 去掉.txt后缀,得到变量名
    var_name="${file%.txt}"
    # 读取文件内容到变量(如果文件有特殊字符,可改用cat "$file" | tr -d '\r'处理换行)
    content=$(cat "$file")
    # 动态创建变量
    declare "$var_name"="$content"
done

# 测试输出dataset1的内容
echo "$dataset1"

小提示

  • 记得给脚本加执行权限:chmod +x your_script.sh,然后运行./your_script.sh。
  • 如果文件名有空格,一定要用双引号把$file包起来,避免脚本报错。

内容的提问来源于stack exchange,提问作者JakobJakobson13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:22:35