微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在Windows中命名文件’con.txt’会使Python写入控制台而不是文件?

我需要帮助调试 Python中的一些奇怪的文件行为.使用以下脚本(write_con.py):
f=open('con.txt','w')
f.write('hi')

在Linux中,这将创建一个名为con.txt的文件,其内容为hi.在Windows中,这会向控制台写入hi并且不会创建文件.我用Python 2.5.1,2.6.3,2.6.5和2.7.2尝试过这个.示例运行:

C:\Users\rpsharp> C:\Python27\python.exe .\write_con.py
hiC:\Users\rpsharp> C:\Python25\python.exe .\write_con.py
hiC:\Users\rpsharp>

然而,除了以con开头的东西之外的任何文件都可以正常工作(write_other_con.py):

f=open('other_con.txt','w')
f.write('hi')

这是一个运行:

C:\Users\rpsharp> C:\Python25\python.exe .\write_other_con.py
C:\Users\rpsharp> type .\other_con.txt
hi

当命名文件的前缀是con时,导致Windows版本的python写入控制台的原因是什么?

你必须检查 Wikipedia Filename page.它有一个包含很多文件系统的保留字符的表.

在Windows和DOS实用程序中,某些单词也可能被保留,不能用作文件名.例如,DOS设备文件

CON,PRN,AUX,CLOCK $,NULCOM0,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9LPT0,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8和LPT9.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐