我有一个可以在我的笔记本电脑上正常运行的Python脚本,但是在我的覆盆子pi上运行时,以下代码似乎无法正常运行。具体而言," TextFile.txt"没有更新和/或保存。
openfile = open('/PATH/TextFile.txt','w')
for line in lines:
if line.startswith(start):
openfile.write(keep+'\n')
print ("test 1")
else:
openfile.write(line)
print ("test 2")
openfile.close()
我正在看"测试1"和"测试2"在我的输出中,所以我知道代码正在到达,路径是正确的等等
可能是由于权限问题。我使用以下命令从终端运行脚本:
usr/bin/python PATH/script.py
Python归" root" and script.py归" Michael"。
所有答案 0 :(得分:0)
由于您的代码正在运行,因此应该有一个文件。
你打电话给" PATH / script.py",但是有#34; /PATH/TextFile.txt"在你的程序中。 PATH之前的斜线是错误吗?您是否检查过程序中的路径是否正在寻找输出文件?
答案 1 :(得分:0)
我的第一个猜测:
文件是否存在?如果它不存在那么你就不能写它。如果该文件不存在,请尝试此操作:file = open('myfile.dat', 'w+')
另外,在python中手动打开和关闭文件句柄是不好的做法。 with语句自动为您处理资源的打开和关闭:
with open("myfile.dat", "w+") as f:
#doyourcalculations with the file object here
for line in f:
print line
答案 2 :(得分:0)
全部,谢谢你的意见。我能够发现它正在写入新文件,但它被覆盖了相同的文本。原因是因为“.startswith”在我预期为真时返回了假。误解是由于Windows和Unix如何处理换行符(/ n / r)之间的差异。