python文件执行路径问题

qq_35439882 2016-08-12 05:56:43
python往相对路径中写日志,单独运行该问题,没问题,但是通过其他程序运行该python文件就会报错
写日志的py文件:
def writeFileName(self,logtext):
nowTime =str(time.strftime("%Y%m%d",time.localtime(time.time())))
timeForWrite = str(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())))
fileName = "..\log\\result.txt"
if os.path.exists(fileName):

f = open(fileName,'a+')
f.write(logtext.decode("utf-8").encode("GBK"))
f.close()
else:

f = open(fileName,'w')
f.write(logtext.decode("utf-8").encode("GBK"))
f.close()
通过命令行运行报错:
C:\Users\wanglongjun>python D:\software\python\PyProject\robotization\pythonFile
\runfile\test1.py
Traceback (most recent call last):
File "D:\software\python\PyProject\robotization\pythonFile\runfile\test1.py",
line 21, in <module>
write.writeFileName("test2,2016-08-10 17:29:19,failse,time is out"+"\n")
File "D:\software\python\PyProject\robotization\pythonFile\runfile\test1.py",
line 16, in writeFileName
f = open(fileName,'w')
IOError: [Errno 2] No such file or directory: '..\\log\\result.txt'
在其他python文件中执行该文件也报错:
File "./runfile/test1.py", line 21, in <module>
write.writeFileName("test2,2016-08-10 17:29:19,failse,time is out"+"\n")
File "./runfile/test1.py", line 16, in writeFileName
f = open(fileName,'w')
IOError: [Errno 2] No such file or directory: '..\\log\\result.txt'

跪求各位大神帮忙看看需要如何解决这种情况,跪谢

...全文
567 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
waterfronter 2019-04-03
  • 打赏
  • 举报
回复
假设你要操作的log文件路径为:
D:\software\python\PyProject\robotization\pythonFile\runfile\log\result.txt
你写日记的py文件test1.py路径为:
D:\software\python\PyProject\robotization\pythonFile\runfile\test1.py

这样test1.py中writeFileName函数里应该这样定义路径:

fileName = os.path.abspath(os.path.join(__file__, "../log/result.txt"))

# 其中__file__为当前文件test1.py的绝对路径


hijack00 2016-08-26
  • 打赏
  • 举报
回复
使用绝对路径。 from os.path import abspaht, dirname dirname(abspath(__file__)) 就是当前脚本所在的绝对路径,然后在拼接上你的相对路径
qq_35439882 2016-08-22
  • 打赏
  • 举报
回复
引用 1 楼 a87b01c14 的回复:
用__file__的路径,拼接一下
怎么拼接,能够给个实例呀
qq_35439882 2016-08-22
  • 打赏
  • 举报
回复
怎么拼接,能否给个实例,或者就我这个问题 ,帮忙解决下,谢谢!
sanxiaochengyu 2016-08-12
  • 打赏
  • 举报
回复
用__file__的路径,拼接一下

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧