标签: file-io

关闭文件错误的I/O操作

所以我正在编写这个程序,它使用open()创建读取文件.当我尝试运行程序时给出了错误:ValueError:关闭文件的I/O操作(第18行).

在我在这个主题上看到的每个问题中,问题总是与缩进有关.IE尝试操作未在同一循环中打开的文件.我的蟒蛇有点生疏,但缩进对我来说很好看.

我希望有人可以快速查看,让我知道缩进是否错误,或者如果其他东西可能导致错误?代码(注释错误):

sourceFile = 'test.html'
serviceTarget = "Plumbers & HVAC Experts"
cityTarget = "NJ"

services = {"Plumbers", "Air Conditioning Experts", "Drain Cleaning Experts"}
cities = {"Westfield", "Scotch Plains", "Clark"}

serviceNames = {"Plumbers":"plumbers", "Air Conditioning Experts":"ac", "Drain Cleaning Experts":"drain"}
totalPages = len(services)*len(cities)

for serviceRep in services:
    for cityRep in cities:
        outFileName = cityRep + " " + serviceNames[serviceRep] + ".html"
        outFileName = outFileName.replace(" ", "_");
        print("Writing " + outFileName + "...")
        infile = open(sourceFile)
        outfile = open(outFileName, 'w')
        for line …
Run Code Online (Sandbox Code Playgroud)

python file-io runtime-error

0
推荐指数
1
解决办法
615
查看次数

java.io.FileNotFoundException和(设备上没有剩余空间)

我有这个Java代码,它应该读取0.5M文件并在删除一些无用的信息后写(我正在使用安然电子邮件数据集)

public void getInboxFiles(File directory){
    File[] usersFolders;
    File[] userFolders;
    File[] inboxFiles;
    usersFolders = directory.listFiles();
    for(File temp:usersFolders){
        userFolders = temp.listFiles();         
        for(File temp2:userFolders){                                    
            inboxFiles = temp2.listFiles();
            for(File tmp3:inboxFiles){
                if(tmp3.isDirectory())
                    continue;                       
                readNPrase(tmp3, new File("/media/ADATA SH12/datasets/parsedEnron/"+temp.getName()+tmp3.getName()+".txt"));                         
            }
        }
    }   

}
Run Code Online (Sandbox Code Playgroud)

函数readNParse是:

public void readNPrase(File in,File out){
    BufferedReader br=null;
    BufferedWriter bw =null;
    try{
        br = new BufferedReader(new FileReader(in));
        bw= new BufferedWriter(new FileWriter(out));
        boolean messageContent = false;
        String line = null;
        while((line = br.readLine()) != null){              
            if(line.trim().equals(""))
                messageContent = true;
            if(messageContent && !isHeader(line) && !line.trim().equals("")){
                bw.write(line); …
Run Code Online (Sandbox Code Playgroud)

java ubuntu file-io inode

0
推荐指数
1
解决办法
8744
查看次数

如何在本地处理已保存的图像与服务器上的图像

我想保存一些生成的图像.

我困惑的部分是如何处理保存文件的路径.

在本地运行时(在VS中),图像可以保存在c:\ images中,但在服务器上,id可能希望将它们保存在root-of-webdir\images中

我需要web.config中的可配置路径吗?在两种情况下如何读取图像的url路径?

c# asp.net file-io

0
推荐指数
1
解决办法
43
查看次数

fscanf()读错误

我有一个文本文件,我在第一个和最后的名字读取大小为20的字符数组.我正在创建一个结构数组,其中包含"人民"的信息.文本文件如下所示:

John Robbins
Teresa Jones 
Run Code Online (Sandbox Code Playgroud)

我的结构定义如下:

struct people {

char name[20];
};
Run Code Online (Sandbox Code Playgroud)

人员宣言结构:

 struct people *persons[2];
Run Code Online (Sandbox Code Playgroud)

声明新结构后,我使用以下代码读取名称:

for(i=0; i<2; i++)
{  
  fscanf(dp, "%[^\n]s", &persons[i].name[20]);
}
Run Code Online (Sandbox Code Playgroud)

但是,一旦我将名称输出到控制台,我收到以下内容:

hn Robbins
sa Jones
Run Code Online (Sandbox Code Playgroud)

我做了大量研究,找不到解决这个问题的方法.有没有人遇到过这个问题?

c file-io scanf

0
推荐指数
1
解决办法
148
查看次数

你能帮我清除这个错误

fstream file(Fname,ios::in|ios::binary);

pharmacy_personnel ob;
while(file.read((char*)ob,sizeof(ob)))
{
    total++;    
}
Run Code Online (Sandbox Code Playgroud)

这只是我代码的一小部分.它给出了一个错误:

"从"pharmacy_personnel"到"char*"不存在合适的转换功能"

请告诉我哪里出错了.

c++ file-io

0
推荐指数
1
解决办法
47
查看次数

应用程序空指针异常

我写了这样一个应用程序(它仍在进行中......).这是日志:

10-02 13:38:18.714: D/AndroidRuntime(637): Shutting down VM
10-02 13:38:18.714: W/dalvikvm(637): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
10-02 13:38:18.734: E/AndroidRuntime(637): FATAL EXCEPTION: main
10-02 13:38:18.734: E/AndroidRuntime(637): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test1/com.example.test1.MainActivity}: java.lang.NullPointerException
10-02 13:38:18.734: E/AndroidRuntime(637):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
10-02 13:38:18.734: E/AndroidRuntime(637):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-02 13:38:18.734: E/AndroidRuntime(637):  at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-02 13:38:18.734: E/AndroidRuntime(637):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
10-02 13:38:18.734: E/AndroidRuntime(637):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-02 13:38:18.734: E/AndroidRuntime(637):  at android.os.Looper.loop(Looper.java:137)
10-02 13:38:18.734: E/AndroidRuntime(637):  at android.app.ActivityThread.main(ActivityThread.java:4745)
10-02 13:38:18.734: E/AndroidRuntime(637):  at java.lang.reflect.Method.invokeNative(Native Method)
10-02 13:38:18.734: E/AndroidRuntime(637):  at java.lang.reflect.Method.invoke(Method.java:511)
10-02 …
Run Code Online (Sandbox Code Playgroud)

java file-io android

0
推荐指数
1
解决办法
83
查看次数

在python中挣扎着一个项目

我的任务是制作这个节目.一个程序,可以读取tests.txt,显示所有分数以及分数的平均值.该程序还必须使用循环.

这是我到目前为止:

def main():

   scorefile = open('test.txt', 'r')

   test1 = scorefile.readline()
   test2 = scorefile.readline()
   test3 = scorefile.readline()
   test4 = scorefile.readline()
   test5 = scorefile.readline()

   scorefile.close()

   print(test1, test2, test3, test4, test5)

   total = (test1 + test2 + test3+ test4 + test5) / 5.0

   print('The average test score is:', total)
main()
Run Code Online (Sandbox Code Playgroud)

test.txt已用这些数字写入文件:

95
87
79
91
86
Run Code Online (Sandbox Code Playgroud)

python file-io loops

0
推荐指数
1
解决办法
100
查看次数

除非file.Close(),否则文本文件写入不反映更改

我正在使用文件IO操作将我的应用程序日志写入文本文件.一旦用户启动应用程序,我就会记录详细信息(例如谁发布,日期时间,机器名称等).我有点担心,因为写入文件的文本没有反映,除非它遇到file.Close().如果我使用file.Close()方法,我无法再将日志写入文件,因为它说"无法写入已关闭的TextWriter"

有没有办法处理这种情况.我知道logutil符合我的要求,但不幸的是我无法使用它.

c# file-io logging

0
推荐指数
1
解决办法
65
查看次数

为什么sys.getsizeof()不在Python中的file.read([size])中返回[size]

我有一个大型的二进制文件,我想读入并使用struct.unpack()解压缩该文件包含多个行,每行长2957个字节.我使用以下代码读入文件:

with open("bin_file", "rb") as f:
    line = f.read(2957)
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么,尺寸返回:

import sys
sys.getsizeof(line)
Run Code Online (Sandbox Code Playgroud)

不等于2957(在我的情况下是2978)?

python string file-io

0
推荐指数
1
解决办法
310
查看次数

Perl代码-管道“ |” 在`open()`语句中

我在Perl .pl文件中有以下代码。您是否认为此代码有任何问题(我不明白它的工作方式,因为第二行中有一个“ |”字符,而后面没有命令)

while ( $temp ne "" ) {
        open( PS, "ps -ef | grep deploy.sh | grep ssh | grep -v grep|" );
        $temp = <PS>;
        close(PS);
        print "The Deploy scripts are still running.  Now sleeping 20\n";
        sleep 20;
}
Run Code Online (Sandbox Code Playgroud)

perl file-io grep pipe while-loop

0
推荐指数
2
解决办法
4179
查看次数

标签 统计

file-io ×10

python ×3

c# ×2

java ×2

android ×1

asp.net ×1

c ×1

c++ ×1

grep ×1

inode ×1

logging ×1

loops ×1

perl ×1

pipe ×1

runtime-error ×1

scanf ×1

string ×1

ubuntu ×1

while-loop ×1