如何将一个文件中的预定义变量导入另一个Python文件?
Python导入同目录变量文件的正确操作
文件结构说明
- 变量定义文件:
/home/example/file.module.py(文件内直接写预定义变量,比如var1 = "hello") - 主运行文件:
/home/example/filetorun.py
你之前写法的问题
- Python导入模块不能加
.py后缀,也不能用字符串、相对路径(./xxx)或绝对路径直接导入 - 文件名里的
.会被Python解析为包层级(比如file.module会被认为是file文件夹下的module.py),但你的文件是单文件file.module.py,所以之前的写法都会报错
正确导入方式
方式1:直接导入模块,通过模块名访问变量
# filetorun.py 里的代码 import file.module # 使用变量时加上模块前缀 print(file.module.var1) print(file.module.PI)
方式2:直接导入变量(推荐按需导入)
# 导入所有变量 from file.module import * print(var1) # 只导入需要的变量(更规范,避免命名冲突) from file.module import var1, PI print(PI)
方式3:重命名变量文件简化导入
如果觉得带.的文件名麻烦,可以把file.module.py重命名为my_vars.py,这样导入更直观:
import my_vars # 或者 from my_vars import var1
注意事项
- 变量文件里直接定义变量即可,不需要用函数返回值,比如
file.module.py内容可以是:
var1 = "测试值" PI = 3.14159 user_list = ["Alice", "Bob"]
- 因为两个文件在同一目录,Python运行主文件时会自动把当前目录加入搜索路径,无需额外配置
内容的提问来源于stack exchange,提问作者Meme-ento
相关产品推荐
相关产品推荐

