Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6629261
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T22:14:05+00:00 2026-05-25T22:14:05+00:00

I have simple Python script to execute test suite both under Windows and Linux.

  • 0

I have simple Python script to execute test suite both under Windows and Linux.
Every test writes its output to separate file.
I use subprocess.Popen class to execute shell command in a cycle.

Every shell command starts like that:

def system_execute(self, command, path, out_file):
    params_list = command.split(' ') 
    file_path = os.path.join(path, out_file)
    f = open(file_path, "w")
    subprocess.Popen(params_list, stdout=f)
    f.close()

It works fine, but script finishes its work before all output files have been written.
Actually, I getting hundreds of zero-size files, and it takes some time to finish writing output and close handles.
Could anyone explain the reason why it works so strange, and is there a synchronous way to do the same job?

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T22:14:06+00:00Added an answer on May 25, 2026 at 10:14 pm

    Before f.close(), you have to wait() for our subprocess.

    def system_execute(self, command, path, out_file):
        params_list = command.split(' ') 
        file_path = os.path.join(path, out_file)
        f = open(file_path, "w")
        sp = subprocess.Popen(params_list, stdout=f)
        sp.wait()
        f.close()
    

    or just

    def system_execute(self, command, path, out_file):
        params_list = command.split(' ') 
        file_path = os.path.join(path, out_file)
        f = open(file_path, "w")
        subprocess.call(params_list, stdout=f)
        f.close()
    

    (or, for easier file handling,

    [...]
        with open(file_path, "w") as f:
            subprocess.call(params_list, stdout=f)
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have the following simple python test script that uses Suds to call a
I have a simple Python script that runs in a console windows. How can
Is there a simple way to run a Python script on Windows/Linux/OS X? On
I have a simple Python script that I want to stop executing if a
I have a simple Python script that uses the socket module to send a
I have a very simple python script that should scan a text file, which
I have a fairly simple python loop that calls a few functions, and writes
Writing a test app to emulate PIO lines, I have a very simple Python/Tk
I have simple python script, 'first.py': #first.py def firstFunctionEver() : print hello firstFunctionEver() I
I have a simple Python script that receives username and password as arguments, but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.