免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1927 | 回复: 7
打印 上一主题 下一主题

python在多个系统下的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-04 17:11 |只看该作者 |倒序浏览
举例子来说会表达的更清楚:

在windows和linux下对目录的表达是不同的,windows下表示d:\sdf\sdf,而liunx下是/home/saf/affg

如果一个程序需要在这两个系统下运行,那么它就要有针对的去处理不同操作系统下目录的情况。

而我现在能想到的是,在每次需要区分处理时去做下os.name,根据结果进行处理,

或者取一次os.name而使用全局变量来判断区分不同系统并进行处理

如果要区分的地方很多的话,就让人很郁闷,而且效率也不好。

有没有更好的方法来解决这个问题?

论坛徽章:
0
2 [报告]
发表于 2009-03-04 17:13 |只看该作者
简单点就是都用'/'。但有时是合成的,因此可以使用os.path.normpath()来处理就好了。

论坛徽章:
0
3 [报告]
发表于 2009-03-04 17:22 |只看该作者
原帖由 limodou 于 2009-3-4 17:13 发表
简单点就是都用'/'。但有时是合成的,因此可以使用os.path.normpath()来处理就好了。


多谢,不过你可能对我上面说的理解有误,或者还是我没有表达清楚。

对于路径问题,只是我举的一个例子来说明详细问题所在。

在某些时候,必须根据不同系统来做出不同的操作,为了能够区分不同的系统并进行后续的操作性,

有没有比我上述说法更好的办法来解决这个问题

[ 本帖最后由 Heaice 于 2009-3-4 17:24 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-03-04 17:24 |只看该作者

回复 #1 Heaice 的帖子

仅仅是针对 分隔符的话
os.sep不就好了
或者
if os.sep=="\\ ":

(windows的东西)
else:
unix的东西

不就好了 我菜鸟啊 说错了当我没说

论坛徽章:
0
5 [报告]
发表于 2009-03-04 17:30 |只看该作者
原帖由 zhenglxd 于 2009-3-4 17:24 发表
仅仅是针对 分隔符的话
os.sep不就好了
或者
if os.sep=="\\ ":

(windows的东西)
else:
unix的东西

不就好了 我菜鸟啊 说错了当我没说


你说的是没错,你这个做法就和我上面说的一样

但是,假如需要区分的情况比较多的话,就不是一个好的方法了。

论坛徽章:
0
6 [报告]
发表于 2009-03-05 09:31 |只看该作者

回复 #5 Heaice 的帖子

偷懒肯定是不行的
你写2个程序一个是针对windows一个是针对unix的
其他的跨平台的模块都这么写的

论坛徽章:
0
7 [报告]
发表于 2009-03-05 10:30 |只看该作者
原帖由 zhenglxd 于 2009-3-5 09:31 发表
偷懒肯定是不行的
你写2个程序一个是针对windows一个是针对unix的
其他的跨平台的模块都这么写的



看来也只能这样搞了,不过维护不方便啊~

论坛徽章:
0
8 [报告]
发表于 2009-03-05 10:44 |只看该作者

回复 #7 Heaice 的帖子

那你在写一个程序 是将以模版的程序 转换为另外一个系统使用的

这样 维护只要 转换一下就可以了
不过前提你要对window和unix都要有相当的了解
不过就没法子了

对了unix是操作界面和windows比 差别大么 听说上面没游戏 不然我也装一个试验下

unix里 是不是只 支持 txt文档没其他文档的啊? 如果他要打开一个文件
是用鼠标像xp样打开 还是 像dos 要用命令 dir cd 什么的?

unix是可视化界面的吗 友不友好啊 没用过很好奇啊。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP