首页 > 解决方案 > 将 .py 脚本中的变量调用到批处理中

问题描述

我有一系列 .py 文件,我使用 .bat 来自动化整个过程。在一些 .py 文件中,我从另一个 .py 文件中调用了变量。我这样做是为了让自己在运行新进程时只更改一个 .py。我已将 .bat 设置为与 .py 文件一起正常运行,但我不明白如何合并 variables.py 文件。

例子:

Python1.py

import os
import somefolder.variables as variables

path = 'C:/pictures/'
file = variables.file

for img in os.listdir(path + variables.file):
    print(img)

变量.py

file = item1.img

批处理.bat

call "C:/Users/name/anaconda3/Scripts/activate.bat" "C:/Users/name/anaconda3/envs/environment"
call "C:/Users/name/anaconda3/envs/environment/python.exe" "D:/Scripts/python1.py"
...

在运行类似的东西之后。我收到错误:No module named 'somefolder'。我已经阅读了一些关于使用echo命令或使用的其他帖子set,但似乎这是在批处理中设置一个变量而不是从另一个 .py 文件中调用它。我对批处理文件非常陌生,因此将不胜感激。

标签: pythonbatch-filepycharm

解决方案


正如上面评论中提到的@Rashid 'Lee' Ibrahim,最好研究一下使用 __intit__.py. 虽然为了让代码运行,我将 module/.py 文件的位置设置为系统路径。

Python1.py 原文

import os
import somefolder.variables as variables

path = 'C:/pictures/'
file = variables.file

for img in os.listdir(path + variables.file):
    print(img)

Python1.py 已编辑

import os
sys.path.append('D:/Scripts/')
import variables

path = 'C:/pictures/'
file = variables.file

for img in os.listdir(path + variables.file):
    print(img)

推荐阅读