所以我写了一个非常基本的脚本作为我的系统的更大测试的一部分。基本上,它只是创建一个新文件 text.txt 并将“abject failure”写入文件。
#!/usr/bin/env python
print "running"
text_file = open("text.txt", "a")
text_file.write("abject failure")
text_file.close()
print "success"
当我从IDLE运行时,脚本运行得非常好,但是当我从Mac OS X终端运行时
python /Users/.../serverside.py
我只获取“打印”值,但没有任何内容写入 text.txt 文件。为什么这样,我该如何解决?
答案 0 :(得分:0)
要确保您的脚本始终有效,无论您的来电来自何处,还要设置文件的绝对路径
cd /Users/path/to/file
python /Users/.../serverside.py
另一个解决方案,如评论中所述,是将您的工作目录更改为您希望文件所在的路径
import regex
pa = r'(\S*(?P<a>-A-)\S* )'
pb = r'(\S*(?P<b>-B-)\S* )'
pc = r'(\S*(?P<c>-C-)\S* )'
pd = r'(\S*(?P<d>-D-)\S* )'
pabc = r'{pa}{pb}?{pc}?' .format( pa = pa, pb = pb, pc = pc )
qabc = r'(?=({})).*' .format( pabc )
pac = r'{pa}{pc}?' .format( pa = pa, pb = pb, pc = pc )
qac = r'(?=({})).*' .format( pac )
s = '-A- -B-C- '
print 'qabc:', qabc
for m in regex.finditer( qabc, s, overlapped = True ):
print m.capturesdict()
print
print 'qac :', qac
for m in regex.finditer( qac, s, overlapped = True ):
print m.capturesdict()