如何在Python中不打开文件将文件内容以字节形式存入变量?
用Python实现类似Linux
cat命令读取文件字节内容到变量 完全可以用Python实现类似Linux里通过cat命令读取文件并转存为字节变量的效果,核心思路是调用系统外部命令来读取文件,而非使用Python内置的open()函数。
方法一:使用subprocess.run()
这是Python 3.5+推荐的调用外部命令的方式,能清晰控制命令执行和结果捕获:
import subprocess # 调用系统cat命令读取a.txt,捕获输出结果 cmd_result = subprocess.run(['cat', 'a.txt'], capture_output=True, check=True) # 提取stdout的字节内容到变量a a = cmd_result.stdout
capture_output=True:捕获命令的标准输出和错误输出check=True:如果cat命令执行失败(比如文件不存在),会直接抛出CalledProcessError异常
方法二:使用subprocess.check_output()
如果只需要获取命令的标准输出,这个方法更简洁:
import subprocess # 直接获取cat命令的输出字节内容 a = subprocess.check_output(['cat', 'a.txt'])
这个方法会自动返回命令的标准输出字节流,若命令执行失败同样会抛出异常。
注意事项
- 这种方式依赖系统环境:在Linux/macOS下可用
cat命令,Windows系统需要替换为type命令(比如['type', 'a.txt']) - 因为你的文件最大只有16字节,完全不用担心输出缓冲的问题,能一次性获取全部内容
内容的提问来源于stack exchange,提问作者user20007266
相关产品推荐
相关产品推荐

