writing command line output to file

前端 未结 3 777
粉色の甜心
粉色の甜心 2021-01-12 21:07

I am writing a script to clean up my desktop, moving files based on file type. The first step, it would seem, is to ls -1 /Users/user/Desktop (I\'m on Mac OSX).

相关标签:
3条回答
  • 2021-01-12 21:19

    To open a file, you can use the f = open(/Path/To/File) command. The syntax is f = open('/Path/To/File', 'type') where 'type' is r for reading, w for writing, and a for appending. The commands to do this are f.read() and f.write('content_to_write'). To get the output from a command line command, you have to use popen and subprocess instead of os.system(). os.system() doesn't return a value. You can read more on popen here.

    0 讨论(0)
  • 2021-01-12 21:25

    After skimming the python documentation to run shell command and obtain the output you can use the subprocess module with the check_output method.

    After that you can simple write that output to a file with the standard Python IO functions: File IO in python.

    0 讨论(0)
  • 2021-01-12 21:45

    You can redirect standard output to any file using > in command.

    $ ls /Users/user/Desktop > out.txt
    

    Using python,

    os.system('ls /Users/user/Desktop > out.txt')
    

    However, if you are using python then instead of using ls command you can use os.listdir to list all the files in the directory.

    path = '/Users/user/Desktop'
    files = os.listdir(path)
    print files
    
    0 讨论(0)
提交回复
热议问题