我需要在文本文件的第一行添加一行,看起来我可用的唯一选项是比我期望的python更多的代码行.像这样的东西:
f = open('filename','r')
temp = f.read()
f.close()
f = open('filename', 'w')
f.write("#testfirstline")
f.write(temp)
f.close()
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法?另外,我看到这个双句柄示例比打开单个句柄进行读写('r +')更常见 - 为什么会这样?
我现在这样做,但我希望它在文件的开头写.
f = open('out.txt', 'a') # or 'w'?
f.write("string 1")
f.write("string 2")
f.write("string 3")
f.close()
Run Code Online (Sandbox Code Playgroud)
所以内容out.txt将是:
string 3
string 2
string 1
Run Code Online (Sandbox Code Playgroud)
而不是(像这样的代码):
string 1
string 2
string 3
Run Code Online (Sandbox Code Playgroud) 我使用方法保存一个数据框,to_csv输出如下所示:
2015 04 08 0.0 14.9
2015 04 09 0.0 9.8
2015 04 10 0.3 23.0
Run Code Online (Sandbox Code Playgroud)
但我需要对此输出进行一些修改,我需要添加一个注释和一个具有恒定值且大小与其他列相同的列。我需要获得这样的输出:
#Data from the ...
#yyyy mm dd pcp temp er
2015 04 08 0.0 14.9 0
2015 04 09 0.0 9.8 0
2015 04 10 0.3 23.0 0
Run Code Online (Sandbox Code Playgroud)
有谁知道这是怎么做到的吗?
我正在尝试在文本文件的开头添加一个新行.我首先打开文件,append但只允许我使用write_all写入文件的末尾,至少这是我得到的结果.如果我正确阅读文档,这是设计的.
我试过玩seek,但这并没有解决它.
这就是我目前所拥有的:
let mut file = OpenOptions::new().append(true).open(&file_path).unwrap();
file.seek(SeekFrom::Start(0));
file.write_all(b"Cool days\n");
Run Code Online (Sandbox Code Playgroud)
如果我打开文件write,我最终会覆盖数据而不是添加.用Rust实现这个目标的合适方法是什么?
我正在开发一个简单的程序,它使Python脚本可执行,我正在添加解释器路径的部分(#!/ usr/bin/python).我尝试这样做,但它不是添加新行,而是替换当前行并删除下一行的一部分.我做错了什么?
我将源代码上传到Ubuntu Pastebin:http://pastebin.ubuntu.com/1032683/ 错误的代码在第28行和第31行之间:
wfile = open(file, 'r+')
if wfile.readline() != "#! /usr/bin/python\n":
wfile.seek(0)
wfile.write("#! /usr/bin/python\n")
Run Code Online (Sandbox Code Playgroud)
使用带有iPad 2的Python 2.7.2(适用于iOS的Python),也可以在同一个iPad(Cydia端口)中使用2.5.1进行测试.
有一个大约44G的文件。我想在第一行之前添加一些内容。我试过用sed。像这样
sed -i '1iSome content' /home/always/test.dat
Run Code Online (Sandbox Code Playgroud)
然而,它花费大约100分钟。有没有更快的方法?任何方式都可以。例如Java、C、Linux工具...
实际场景我想导入一个csv到neo4j数据库。我的步骤是: