目前使用以下包结构:
/package
__init__.py
final.py
/write
__init__.py
write.py
/data
backup.txt
backup1.txt
backup2.txt
final.py导入write.py,它应该能够返回一个目录并将一系列备份.txt文件写入/ data。
final.py应该能够在另一个电话期间进入/数据并访问备份文件,因此需要将信息保存在/ data中。
我不确定这应该是包文件的正确层次结构吗?如果将整个项目文件移动到服务器上,那么如何在不使用绝对文件路径的情况下将目录分支中的文本文件创建为文本文件,而不使用绝对文件路径。
创建backup.txt文件是否错误(将一个check.py添加到/ data,它会返回某种数据结构中的.txt文件,并使/ data成为一个包,或者( 2)final.py应该直接输入/ data并检索文本文件。
答案 0 :(得分:3)
要写入任意位置,只需将完整路径传递给open
即可。例如,假设您将数据目录的路径存储在常量中:
DATA_PATH = '/var/lib/mypackage'
def backup():
f = open(os.path.join(DATA_PATH, 'backup.txt'), 'w')
f.write('some backup data...')
f.close()