2016-06-10 127 views
0

所以我写了一个非常基本的脚本,作为我的系统的一个更大的测试的一部分。本质上,它只是创建一个新文件text.txt并写入文件“abject failure”。从OS X终端运行时,Python脚本不会写入文本文件

#!/usr/bin/env python 
print "running" 
text_file = open("text.txt", "a") 
text_file.write("abject failure")  
text_file.close() 

print "success" 

脚本奇妙的作品,当我从怠速运转,但是当我从Mac OS X终端与

python /Users/.../serverside.py 

运行我只得到了“打印”值,但没有数据被写入到text.txt文件。为什么会这样,我该如何解决它?

+3

复制代码,按照'python filename.py'运行它,并且text.txt文件包含预期的文本。当您用绝对路径调用脚本时,这意味着您可能位于文件系统的任何位置。该文件给出了一个相对路径(只有它的名字),因此它将被写入当前的工作目录,在那里你可以在调用之前“cd”。例如。 'CD; python/somewhere/far/apart/script.py'会将text.txt文件写入你的home文件夹'$ {HOME}',因为这是你输入'cd'时输入的地方并输入 – Dilettant

+0

适合我,你检查你已经运行代码的目录? – user3636636

回答

0

为了确保您的脚本始终工作,无论在哪里你的电话是从哪里来的,还设置一个绝对路径文件

text_file = open("/Users/path/to/file/text.txt", "a") 

另一种解决方案,如评论所说,是改变你的工作目录到你想要文件的路径

cd /Users/path/to/file 
python /Users/.../serverside.py 
相关问题