导入存储在另一个文件

时间:2015-12-03 09:01:29

标签: python python-2.7 import

我有两个python文件。让我们说a.pyb.py,我正在尝试将a.py中存储的一些路径导入b.py

a.py

parameter_file_path = C:/python-projects/PythonWork/gen.py

trace_file_path = C:/python-projects/PythonWork/gen.asc

b.py

from a import *

在b.py中运行代码后出现错误

  File "<string>", line 1, in <module>
  File "C:\python-projects\PythonWork\a.py", line 1
    parameter_file_path = C:/python-projects/PythonWork/gen.py
                           ^
SyntaxError: invalid syntax

我想要的是什么:

我希望它只使用a.py中的路径导入两个变量到b.py而不显示任何错误。

我尝试了什么

我尝试改变在a.py中编写此变量的方式。我使用以下代码将信息写入文件

file = open('a.py', 'w+')

file.write('parameter_file_path = {}'.format(str(self.paraName.name.encode('ascii','ignore'))))
file.write('\n')
file.write('\n')

if trace_file:
    file.write('trace_file_path = {}'.format(trace_file.name.encode('ascii','ignore')))

file.close()

self.paraName.name =包含参数文件的路径名

trace_file.name =包含跟踪文件的路径

我尝试将其写为一个简单的字符串,并使用上面代码中的.encode,但它没有任何区别。

我还尝试在C:/python-projects/PythonWork/gen.py中手动将'C:/python-projects/PythonWork/gen.py'更改为a.py,但效果很好。但即使经过大量尝试,我也无法像上面那样用单引号将我的路径存储在字符串中。

1 个答案:

答案 0 :(得分:1)

如果你想让a.py成为合适的Python语法,你应该指定像

这样的路径
parameter_file_path = r'C:/python-projects/PythonWork/gen.py'

此处不需要字符串前面的r,因为您只使用斜杠作为路径分隔符,但在使用反斜杠编写路径时应该使用斜杠。

写a.py可以这样做:

file.write("parameter_file_path = r'{}'".format(str(self.paraName.name.encode('ascii','ignore'))))