另外,打开文件不是你所理解的这个意思,我想你的意思应该用这个代码实现:
Private Sub Command1_Click()
Dim fname As String
fname = "E:\TESTtxt"
Shell "notepad " & fname, vbNormalFocus
End Sub
open函数中的文件名默认是寻找当前目录下的这个文件
如果当前目录下没有就会报错。建议在日常使用中写上绝对路径(完整路径)
# -- encoding:utf-8 --with open('atxt') as f:
res = freadline()
print(res)
当前目录下没有atxt 下面是报错
我的D盘下有atxt这个文件,并且写了绝对路径
# -- encoding:utf-8 --with open('D:\\atxt') as f:
res = freadline()
print(res)
with open() as f就相当于 f = open()
第一种方式会在程序结束后自动回收内存。可以不用写fclose()。其余用法一样
有些参数没有必要,但你缺少了主要的 参数
#include<fstream>
using namespace std;
void main()
{
fstream f;
fopen("mydat",ios::out| ios::app);
if(!f)
{
cerr<<"can't open"<<endl;
system("pause");
return;
}
fseekg(0,ios::end);
long pos = ftellg();
fseekg(0,ios::beg);
long posbeg = ftellg();
if(pos == posbeg)
cout<<"empty"<<endl;
system("pause");
}1open
使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。
file_object = open('thefiletxt')
try:
all_the_text = file_objectread( )
finally:
file_objectclose( )
注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。
2读文件
读文本文件
input = open('data', 'r')
#第二个参数默认为r
input = open('data')
读二进制文件
input = open('data', 'rb')
读取所有内容
file_object = open('thefiletxt')
try:
all_the_text = file_objectread( )
finally:
file_objectclose( )
读固定字节
file_object = open('abinfile', 'rb')
try:
while True:
chunk = file_objectread(100)
if not chunk:
break
do_something_with(chunk)
finally:
file_objectclose( )
读每行
list_of_all_the_lines = file_objectreadlines( )
如果文件是文本文件,还可以直接遍历文件对象获取每行:
for line in file_object:
process line
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)