Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编写行为(Python 2.7.11)_Python_Io - Fatal编程技术网

编写行为(Python 2.7.11)

编写行为(Python 2.7.11),python,io,Python,Io,我遇到了一种行为,我对谷歌搜索解决方案了解不够,所以如果这是一些基本/简单的事情,请原谅我 我通常在家里的Mac(El Capitan)上编写脚本,做一些简单的测试,然后在Windows机器(Windows 7)上进一步测试和调整脚本 在下面的代码中,我使用了一个名为“re_write”的函数,它是: folder = "{}/Records/".format("/".join(os.getcwd().split("/"))) def re_write(file): return op

我遇到了一种行为,我对谷歌搜索解决方案了解不够,所以如果这是一些基本/简单的事情,请原谅我

我通常在家里的Mac(El Capitan)上编写脚本,做一些简单的测试,然后在Windows机器(Windows 7)上进一步测试和调整脚本

在下面的代码中,我使用了一个名为“re_write”的函数,它是:

folder = "{}/Records/".format("/".join(os.getcwd().split("/")))

def re_write(file):
    return open(folder + file, "wb+")
以下是我最初写入文件的模块:

history = supp.re_write("Agent.txt")
history.write("{}{}".format("Verified: ", 
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))

exit()
Verified: 2016-02-10 08:15:25Åþñ¦†“VYÇC7] IiìCá¼G+»{’îÀ,[WÝŸKù…ºñ¶wdx^0øN»!Ó¿B®_7Ä5$Ÿ"=ÀÆ×ÐÁ³¢FŽQq±)S&Â,¾™{æ?½A#?åHÏýÖ£¨öô¿ƒ£F·Ïÿ  `$L‘ø°?HG|=g—Ðø!OvëZWCr9J×½¦šª¢óÿ^p½3w½`ñ,…FJÑph°öçkDæó’=ÞžˆÁ°¦é,Ì9¡MÈ+ú8ÁãcòcÛÞ?v¦  
这将按预期工作并打印:

Verified: 2016-02-10 08:15:25
但是,如果我运行以下命令:

history = supp.re_write("Agent.txt")
history.write("{}{}".format("Verified: ",
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))

this = history.read().split("\n")[0].split(": ")
exit()
将以下内容(或类似内容)写入文件:

history = supp.re_write("Agent.txt")
history.write("{}{}".format("Verified: ", 
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))

exit()
Verified: 2016-02-10 08:15:25Åþñ¦†“VYÇC7] IiìCá¼G+»{’îÀ,[WÝŸKù…ºñ¶wdx^0øN»!Ó¿B®_7Ä5$Ÿ"=ÀÆ×ÐÁ³¢FŽQq±)S&Â,¾™{æ?½A#?åHÏýÖ£¨öô¿ƒ£F·Ïÿ  `$L‘ø°?HG|=g—Ðø!OvëZWCr9J×½¦šª¢óÿ^p½3w½`ñ,…FJÑph°öçkDæó’=ÞžˆÁ°¦é,Ì9¡MÈ+ú8ÁãcòcÛÞ?v¦  
虽然这只发生在Windows上,我的Mac电脑没有添加任何可见的多余糖蜂蜜冰茶

基本上,我不确定我应该寻找什么来发现或理解为什么在Windows上读取文件会在读取时改变它。在写之前,我尝试过对字符串进行编码,尽管它似乎一无所获。我在哪里失败了


谢谢。

第一行,红旗:始终使用
os.path.join
而不是滚动您自己的文件夹路径格式。特别是如果你的目标是多平台。为什么你要以“二进制”模式打开文件?你先检查编码了吗?您确定要自己承担与编码保持一致的责任吗?我会使用文本模式,依靠Python做得很好。如果您使用的是Python2.7,
来自
将不会有任何伤害,这可能是一个好主意,以防万一。在执行
写入
后,如果您想读取刚刚编写的内容,则需要执行某种
查找
。否则,您将读取文件结尾之后的任何内容——可能是垃圾、依赖操作系统或某些未定义的行为。在任何情况下:它似乎不是您想要阅读的内容。最后:
exit
应执行干净的退出并关闭文件处理程序。但是,建议在退出之前显式关闭该文件。使用supp.re_write(“Agent.txt”)作为历史记录的
:模式是避免
.close()
的好方法,但您可以选择适合您脚本的任何内容。@mariusiuram 1。我以前没有研究过os.path.join方法,尽管它看起来应该是这样的。2.在纯文本模式下打开/读取/写入不会更改附加的随机字符。虽然我不能证明我为什么要用它。。。这是我第一次也是唯一一次。这一变化发生在漫长的一天的午夜之后。。。也许我当时在某个地方读到了一些有意义的东西……第一行,红旗:始终使用
os.path.join
而不是滚动您自己的文件夹路径格式。特别是如果你的目标是多平台。为什么你要以“二进制”模式打开文件?你先检查编码了吗?您确定要自己承担与编码保持一致的责任吗?我会使用文本模式,依靠Python做得很好。如果您使用的是Python2.7,
来自
将不会有任何伤害,这可能是一个好主意,以防万一。在执行
写入
后,如果您想读取刚刚编写的内容,则需要执行某种
查找
。否则,您将读取文件结尾之后的任何内容——可能是垃圾、依赖操作系统或某些未定义的行为。在任何情况下:它似乎不是您想要阅读的内容。最后:
exit
应执行干净的退出并关闭文件处理程序。但是,建议在退出之前显式关闭该文件。使用supp.re_write(“Agent.txt”)作为历史记录的
:模式是避免
.close()
的好方法,但您可以选择适合您脚本的任何内容。@mariusiuram 1。我以前没有研究过os.path.join方法,尽管它看起来应该是这样的。2.在纯文本模式下打开/读取/写入不会更改附加的随机字符。虽然我不能证明我为什么要用它。。。这是我第一次也是唯一一次。这一变化发生在漫长的一天的午夜之后。。。也许我在某个地方读到了一些当时有意义的东西。。。