Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python文件未关闭_Python_File_File Io_Python 2.7 - Fatal编程技术网

Python文件未关闭

Python文件未关闭,python,file,file-io,python-2.7,Python,File,File Io,Python 2.7,我写了一个程序来处理少量的数据。其中包括三个步骤: 读取数据 处理 将数据写入文件 在运行代码时,前两个步骤成功完成(由于数据对于我的笔记本电脑配置来说是巨大的,所以我使用linux中的交换空间来完成这项工作) 现在是第三步: 数据已成功写入文件。但是我的代码卡在了行feat.close()(feat是文件指针)。当我在进程运行时打开文件时,会写入完整的数据,但我的文件不会关闭 代码: 为什么会这样 你可以找到那条路 编辑: 我试图在关闭后打印一些东西,但它正在打印,这意味着问题在于退出程序。它

我写了一个程序来处理少量的数据。其中包括三个步骤:

  • 读取数据
  • 处理
  • 将数据写入文件
  • 在运行代码时,前两个步骤成功完成(由于数据对于我的笔记本电脑配置来说是巨大的,所以我使用linux中的交换空间来完成这项工作)

    现在是第三步: 数据已成功写入文件。但是我的代码卡在了行
    feat.close()
    (feat是文件指针)。当我在进程运行时打开文件时,会写入完整的数据,但我的文件不会关闭

    代码:

    为什么会这样

    你可以找到那条路

    编辑:
    我试图在关闭后打印一些东西,但它正在打印,这意味着问题在于退出程序。它使用了大约3 GB的RAM和3 GB的交换空间@Justing。为了填满这段记忆,我花了10-20分钟,为了清除这段记忆,我等了大约2个小时,我想这是个问题我上传了上面的策略,请参阅。

    尝试使用
    进行操作,当您完成写入时,它将刷新到磁盘:

    with open('file.txt', 'r') as f:
         data = f.read()
    f.closed
    

    请参阅python。在编写和读取文件时,它应该可以解决大多数问题。

    值得注意的是,在Python中使用文件时,最好的做法是使用。代码在我看来很好。如果文件很大,它可能只是在等待操作系统将某些内容刷新到磁盘,或将页面移入或移出交换,或诸如此类的操作。您是否尝试过在“关闭文件”后等待一段时间,看看它是否会自动终止?使用
    strace
    运行程序,看看会发生什么。我等待了大约2个多小时。。仍然没有什么关闭一个文件似乎不太可能需要很长的时间。尝试在
    close()
    语句之后打印一些内容,以检查是否确实是挂起的关闭。
    abhi@abhi-me~/Projects/workspace/irProject/completepythonbased/authAttrib (irProject)>>./featureSelection.py 35 125 3 3GramFreq
    reading features
    Ajit_Popat
    Mukund_Mehta
    Parajit_Patel
    Priyadarshi
    Kumarpad_Desai
    Bhaven_Kacchi
    Shantibhai_Agrawat
    Pravin_Darji
    Ankit_Trivedi
    Sharad_Rawal
    Tushar_Shukla
    Chandrakant_Mehta
    Jay_Vasavda
    Dolat_Bhatt
    Munindra
    Mrugesh_Vaishnav
    Kulinchandra_Yagnik
    Zaverilal_Mehta
    Priti_Shah
    Vasant_Mistri
    Vatsal_Vasani
    Dinesh_Mistri
    Devesh_Mehta
    Dhaval_Mehta
    Urvish_Kothari
    Madhusudan_Parekh
    Vihari_Chaya
    Virendra_Kapoor
    Mukul_Choksi
    Joravarsinh_Jadav
    Ashok_Dave
    Nasir_Ismaeli
    Joban_Pandit
    Priyakant_Parikh
    Sudarshan_Upadhyay
    Gajendra_Shah
    Altaf_Patel
    Bhalchandra_Jani
    Shashin
    Hansal_Bhachech
    Calculating waht to delete
    Writing Back Features
    Pravin_Darji
    Ajit_Popat
    Kulinchandra_Yagnik
    Sharad_Rawal
    Madhusudan_Parekh
    Shantibhai_Agrawat
    Gajendra_Shah
    Hansal_Bhachech
    Vihari_Chaya
    Virendra_Kapoor
    Sudarshan_Upadhyay
    Priyadarshi
    Tushar_Shukla
    Dolat_Bhatt
    Urvish_Kothari
    Vasant_Mistri
    Mukund_Mehta
    Zaverilal_Mehta
    Kumarpad_Desai
    Vatsal_Vasani
    Bhaven_Kacchi
    Mrugesh_Vaishnav
    Bhalchandra_Jani
    Priyakant_Parikh
    Chandrakant_Mehta
    Mukul_Choksi
    Joravarsinh_Jadav
    Munindra
    Joban_Pandit
    Devesh_Mehta
    Priti_Shah
    Ankit_Trivedi
    Dinesh_Mistri
    Dhaval_Mehta
    Ashok_Dave
    Nasir_Ismaeli
    Parajit_Patel
    Jay_Vasavda
    Altaf_Patel
    Shashin
    Closing File
    ^C
    [1]+  Killed                  ./featureSelection.py 35 125 3 3GramFreq
    
    with open('file.txt', 'r') as f:
         data = f.read()
    f.closed