Python 快速运行时和.p文件

Python 快速运行时和.p文件,python,io,pickle,canonical-quickly,Python,Io,Pickle,Canonical Quickly,我正在尝试用python快速构建一个应用程序,但当我尝试运行一个读取.p pickle文件的函数时,我遇到了一个I/O错误。奇怪的是,当我在shell中运行相同的python程序时,它工作得很好 adam@adam-System-Product-Name:~/reskin/reskin$ quickly run 2, No such file or directory, newSnapShots.p Traceback (most recent call las

我正在尝试用python快速构建一个应用程序,但当我尝试运行一个读取.p pickle文件的函数时,我遇到了一个I/O错误。奇怪的是,当我在shell中运行相同的python程序时,它工作得很好

 adam@adam-System-Product-Name:~/reskin/reskin$ quickly run    
      2, No such file or directory,  newSnapShots.p 
    Traceback (most recent call last):
      File "bin/reskin", line 36, in <module> 
        reskin.main()
      File "/home/adam/reskin/reskin/__init__.py", line 31, in main
        window = ReskinWindow.ReskinWindow()
      File "/home/adam/reskin/reskin_lib/Window.py", line 37, in __new__
        new_object.finish_initializing(builder)
      File "/home/adam/reskin/reskin/ReskinWindow.py", line 36, in finish_initializing
        self.set_app_data(builder) 
      File "/home/adam/reskin/reskin/ReskinWindow.py", line 43, in set_app_data
        viewControler.app_by_name("firstVar")
      File "/home/adam/reskin/reskin/back/viewControler.py", line 29, in app_by_name
        app = applicationGetter.get_app_by_name(name)
      File "/home/adam/reskin/reskin/back/applicationGetter.py", line 8, in get_app_by_name
        for snap in savedSnaps:
    TypeError: 'bool' object is not iterable
文件树和.p位置

.
├── applicationGetter.py
├── applicationGetter.pyc
├── data
│   └── newSnapShots.p    < file here
├── firstTimeSnapList.py
├── __init__.py
├── __init__.pyc
├── prosessCheckerv3.py
├── prosessScript.sh
├── viewControler.py
└── viewControler.pyc
快速使用Cpickle有什么问题吗?我应该使用其他工具吗?
先谢谢你

经过一点研究,发现动态或相对文件路径在执行时遇到问题,而快速文件路径也在执行中。所以通过切换

  def get_saved_snaps():
try:
    with open('data/newSnapShots.p','rb') as snapFile:
为了


问题解决了。我不知道为什么相对路径会出现这种情况。

如果您希望加载某个可编辑的内容,并且在错误情况下只想打印一条警告,那么对于get\u saved\u snaps的错误情况,更好的返回值应该是某个可编辑的内容。
  def get_saved_snaps():
try:
    with open('data/newSnapShots.p','rb') as snapFile:
def get_saved_snaps():
try:
    with open('/absolute_path/quickly_project/data/newSnapShots.p','rb') as snapFile: