You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

跨目录复用Python代码:替代复制粘贴的更优方法问询

当然有更高效的方法啦,完全不用手动复制粘贴这么麻烦!下面给你几个靠谱的方案,按需选择就行:

方案1:用Python的模块化导入(推荐)

这是最符合Python规范的做法,适合长期复用代码的场景。因为你的Code1.py和新代码不在同一目录,我们只需要先把它所在的目录添加到Python的搜索路径里,然后直接导入即可:

import sys
# 把Code1.py所在的目录添加到Python的模块搜索路径
sys.path.append(r'C:\Users\MyCode')
# 导入整个Code1模块
import Code1

导入后,你就可以直接调用Code1里的所有函数、类和变量了,比如:

Code1.my_custom_function()
print(Code1.my_global_variable)

如果嫌每次加前缀麻烦,也可以直接把Code1的内容导入到当前命名空间(不过这种方式容易引发命名冲突,谨慎使用):

from Code1 import *

方案2:直接执行文件内容(快速复用)

如果你只是想一次性把Code1.py的所有代码“注入”到当前脚本里,和复制粘贴效果完全一样,可以用exec函数读取并执行文件内容:

# 打开Code1.py文件并读取内容,然后执行
with open(r'C:\Users\MyCode\Code1.py', 'r', encoding='utf-8') as f:
    exec(f.read())

这样Code1.py里的所有代码都会在当前脚本中执行,所有定义的函数、变量都会直接出现在当前命名空间里,不用加任何前缀。不过要注意:如果Code1.py里有一些直接运行的代码(比如print("hello")这种全局执行语句),也会被一并执行哦。

小提示

  • 路径前面加r是为了避免Windows路径里的反斜杠被当成转义字符,比如r'C:\Users\MyCode'就不会出问题;
  • 打开文件时指定encoding='utf-8',确保和Code1.py的编码一致,避免乱码。

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

火山引擎 最新活动