如何将Python应用程序移植到在Windows中正常工作的Linux

我无法将工作的Windows Python应用程序移植到Linux。 我遇到了一些问题,因为我没有编写代码,而只是学习Python。 我无法修复它不断抛出的问题。 所以这里是一个错误,现在我坚持

Traceback (most recent call last): File "alpha_beta", line 237, in <module> main() File "alpha_beta", line 185, in main ABCCmd() File "alpha_beta.py", line 74, in ABCCmd File "C:\softs\Python\Lib\shutil.py", line 80, in copy File "C:\softs\Python\Lib\shutil.py", line 47, in copyfile IOError: [Errno 13] Permission denied: '/myPath/XFiles.bin.addr_patched 

任何指针如何解决它将不胜感激

编辑:

1)我卡住的意思是,错误的追溯到C:\ softs \ Python \ Lib,但实际上我目前正在Ubuntu中执行此代码。 为什么会回溯引用到Windows库

2)困扰我的另一件事是它说有一个IOError.But当我尝试添加拒绝的权限时,它给了我一个chmod:更改/myPath/xFiles.bin.addr_patched的权限:操作不允许编辑2 :

我已经评论了一个模块,因为我认为这不是很有用。 既然现在我正在讨论移植问题,我想我也可以提出这个额外的问题,因为我认为问题是一样的,修复应该是类似的。 在Python代码中包含#pdb模块时,出现以下错误

 traceback (most recent call last): File "alpha_beta", line 6, in <module> import pdb File "C:\softs\Python\Lib\pdb.py", line 14, in <module> File "C:\softs\Python\Lib\pprint.py", line 39, in <module> ImportError: No module named cStringIO 

我看着importer_Cache,看起来像这样

 '': None, '/usr/lib/python2.6/plat-linux2': None, '/usr/lib/python2.6/': None '/usr/lib/pymodules/python2.6/gtk-2.0': None, '/usr/lib/python2.6/lib-tk': None, '/usr/lib/python2.6/lib-old': <imp.NullImporter object at 0x7f1269048070>, '/usr/ /python2.6/dist-packages/gtk-2.0': None, '/usr/lib/python2.6/dist-packages/PIL': None, '/usr/local/lib/python2.6/dist-packages': None, '/usr/lib/python2.6/dist-packages': None 

*已解决在脚本中有一个奇怪的包装,导致python脚本从不同的位置执行。 还是不明白如何。 修改我的脚本后,直接执行python myScript.py它运行良好。 无论如何,谢谢你的帮助

Windows和Unix样式路径在你的错误消息中的混合使我认为你可能有一些文件名是硬编码或手动创建使用OS特定的路径分隔符('\'或'/')。 如果你能确定gOptions.inputTfgWorkingTfFile值的分配位置,你应该使用os.path.join来帮助你使用正确的路径。

 from os.path import join file = join('A', 'B') # 'A/B' on unix systems # 'A\B' on windows systems