我有两个文件。第一个文件,我们称之为“Main.py”。第二个是“file1.py”。
我想从Main.py调用一个变量,并将值写入名为“tempFile.txt”的新文件。我尝试导入“Main.py”但是我收到了Attritbute错误。
以下是“File1.py”
的示例import os
import sys
import main
# This function should write the values from Main.py to a tempFile
# and reads the contents to store into a list.
def writeValues():
tempFile = open('tempFile.txt', 'w+')
tempFile.write(str(X_Value))
tempFile.write("\n")
tempFile.write(str(Y_Value))
zoneValues = [line.rstrip('\n') for line in open('tempFile.txt')]
print zoneValues
# X_Value and Y_Value are the variables in Main.py I am trying to access
def readZoneValues(): # Creates a list from values in tempFile.txt
valuesList = [line.rstrip('\n') for line in open('tempFile.txt')]
print valuesList
我尝试过其他人寻找答案,但对这个具体问题没有明确答案。
修改
Main.py
import os
import sys
import file1
X_Value = 1000
Y_Value = 1000
# For statement that manipulates the values, too long to post.
for "something":
if "something":
# after the values are calculated, kick it to the console
print "X Value: " + str(X_Value) + "\n"
print "Y Value: " + str(Y_Value) + "\n"
我需要在处理完Main.py之后将变量的值写入tempFile。
修改
我已经尝试过在Main.py中创建了tempFile,但由于某些原因,我的函数读取tempFile并将值添加到列表中,但是,在删除了Main中的tempFile创建后,值为DO APPEAR .py并取消注释File1.py
中的写入功能答案 0 :(得分:1)
您要呈现的代码会创建循环导入;即main.py导入file1.py和file1.py导入main.py.这不起作用。我建议更改write_values()以接受两个参数,然后从main.py传入它们,并取消将main导入到file1中:
main.py:
import os
import sys
import file1
X_Value = 1000
Y_Value = 1000
file1.writeValues(X_Value, Y_Value)
file1.py:
import os
import sys
# This function should write the values from Main.py to a tempFile
# and reads the contents to store into a list.
def writeValues(X_Value, Y_Value):
tempFile = open('tempFile.txt', 'w+')
tempFile.write(str(X_Value))
tempFile.write("\n")
tempFile.write(str(Y_Value))
tempFile.close()
zoneValues = [line.rstrip('\n') for line in open('tempBeds.txt')]
print zoneValues
def readZoneValues(): # Creates a list from values in tempFile.txt
valuesList = [line.rstrip('\n') for line in open('tempFile.txt')]
print valuesList
答案 1 :(得分:0)
尝试导入它。
from YourFileName import *
此外,在致电时,
YourFileName.tempFile
如果您只想调用您的变量,
from YourFileName import VarName1