我有两个python文件。让我们说a.py
和b.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
,但效果很好。但即使经过大量尝试,我也无法像上面那样用单引号将我的路径存储在字符串中。
答案 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'))))