File Manipulation with Python

File Manipulation with Python Assignment Instructions

Overview

Scenarios are quite common where an IT professional is tasked with modifying a file on many computer systems or many files on a single computer or a combination of the two. For example, a large software may need the copyright notice comment to be changed on every source file in a project. Or, a configuration file may need to be modified on every server in a multi-server deployment. Doing this task manually is not a viable way to approach the problem. Instead, a better solution is to use a scriptable environment to perform search and replace functionality on the files in question. Python is an excellent tool for this kind of task.

Instructions

Samba is a unix/linux file sharing suite of programs designed to provide Windows interoperable file and print sharing services. Much of the configuration for the Samba daemon is provided by the text file smb.conf (renamed to smb.txt for this assignment). After an update was deployed to three dozen linux servers it was discovered that a couple of configured parameters were incorrect. Unfortunately, since there are unique aspects to each server, copying the contents of a single file to each server is not a viable solution. To fix the problem, the IT department must connect to each server, edit the smb.conf file, and restart the smbd daemon. To automate this task, each server will have a Python script copied to it. Then an SSH session will be initiated to each server from which the script will be executed. Your task is to write the Python script.

The invocation of the script must be as follows:

python modify.py fileSpec “from” “to”

where,

· modify.py is the name of your script

· fileSpec is the name of the file to be modified (smb.txt)

· “from” is the text to be searched for (be sure to enclose any white space in quotes)

· “to” is the text the searched text is to be replaced with.

Testing the script is your responsibility. However a good test case is:

python modify.py smb.txt “password sync = yes” “password sync = no”

Hints

Accessing command line arguments in Python requires the sys module. Consequently, your script must have the “import sys” directive. To access individual arguments, use sys.argv[x] where x is the argument number. I.e. the first argument would be accessed by sys.argv[1]. Note that sys.argv[0] is the name of the script and not used in this assignment.

Specifying command line arguments from an IDE differs depending on the IDE. For PyCharm CE, select Run -> Edit Configurations and place them on the Parameters field. For example:

Also, recognize that you will open two files, one for reading and one for writing. I highly recommend that you append a “.new” to the file to be written while debugging. Otherwise, you will corrupt your input file while testing.

How do you open a file in Python for reading or writing? It is very easy, to open for reading:

inPointer = open(fileSpec, ‘r’)

where “fileSpec” is the filename and ‘r’ tells Python that you want to read the file. The variable inFile is sometimes called a “pointer” to the file. Essentially it is a reference that allows one to operate on the file.

Similarly, to open a file for writing:

outPointer = open(fileSpec,’w’)

where fileSpec is the same as the reading example and ‘w’ tells Python the file is for writing. Just as inPointer, outPointer is a “pointer” to the opened file to write.

Now what? To read from the file you can read one line at a time, all the lines, or the entire file into a string. See python.org for all available methods but the following will read the next line of a file into a string.

line = inFile.readline() # reads the next line of text into a string

Once you read the contents, you need to search for occurrences of “from” and replace them with “to”. How? Strings have a replace method such that you can loop through the lines and do a search and replace for each occurrence. Next write the modified line to a new file.

Once you get to the end of the file, close both the read file and the write file and you’re done!

Just to get you started, the following takes the arguments from the command line and opens the input file and an output file:

import sys

fileSpec = sys.argv[1] # read file name first argument

searchText = sys.argv[2] # text to search for

replaceText = sys.argv[3] # text to replace with

outFile = fileSpec + ‘.new’ # write file = read file with .new appended

outPointer = open(outFile,’w’) # open write file

inPointer = open(fileSpec, ‘r’) # open read file

Test your code completely. At each step of the test take a screen shot and embed it into a Word document. Submit the Word document to the appropriate assignment.

Submit your Python source files and any other relevant material.

Page 3 of 3

image1.png

Calculate the price of your order

Select your paper details and see how much our professional writing services will cost.

We`ll send you the first draft for approval by at
Price: $36
  • Freebies
  • Format
  • Formatting (MLA, APA, Chicago, custom, etc.)
  • Title page & bibliography
  • 24/7 customer support
  • Amendments to your paper when they are needed
  • Chat with your writer
  • 275 word/double-spaced page
  • 12 point Arial/Times New Roman
  • Double, single, and custom spacing
  • We care about originality

    Our custom human-written papers from top essay writers are always free from plagiarism.

  • We protect your privacy

    Your data and payment info stay secured every time you get our help from an essay writer.

  • You control your money

    Your money is safe with us. If your plans change, you can get it sent back to your card.

How it works

  1. 1
    You give us the details
    Complete a brief order form to tell us what kind of paper you need.
  2. 2
    We find you a top writer
    One of the best experts in your discipline starts working on your essay.
  3. 3
    You get the paper done
    Enjoy writing that meets your demands and high academic standards!

Samples from our advanced writers

Check out some essay pieces from our best essay writers before your place an order. They will help you better understand what our service can do for you.

  • Analysis (any type)
    Advantages and Disadvantages of Lowering the Voting Age to Thirteen
    Undergrad. (yrs 1-2)
    Political science
    APA
  • Coursework
    Leadership
    Undergrad. (yrs 1-2)
    Business Studies
    APA
  • Essay (any type)
    Is Pardoning Criminals Acceptable?
    Undergrad. (yrs 1-2)
    Criminal Justice
    MLA

Get your own paper from top experts

Order now

Perks of our essay writing service

We offer more than just hand-crafted papers customized for you. Here are more of our greatest perks.

  • Swift delivery
    Our writing service can deliver your short and urgent papers in just 4 hours!
  • Professional touch
    We find you a pro writer who knows all the ins and outs of your subject.
  • Easy order placing/tracking
    Create a new order and check on its progress at any time in your dashboard.
  • Help with any kind of paper
    Need a PhD thesis, research project, or a two-page essay? For you, we can do it all.
  • Experts in 80+ subjects
    Our pro writers can help you with anything, from nursing to business studies.
  • Calculations and code
    We also do math, write code, and solve problems in 30+ STEM disciplines.

Frequently asked questions

Get instant answers to the questions that students ask most often.

See full FAQ
  • Is there a possibility of plagiarism in my completed order?

    We complete each paper from scratch, and in order to make you feel safe regarding its authenticity, we check our content for plagiarism before its delivery. To do that, we use our in-house software, which can find not only copy-pasted fragments, but even paraphrased pieces of text. Unlike popular plagiarism-detection systems, which are used by most universities (e.g. Turnitin.com), we do not report to any public databases—therefore, such checking is safe.

    We provide a plagiarism-free guarantee that ensures your paper is always checked for its uniqueness. Please note that it is possible for a writing company to guarantee an absence of plagiarism against open Internet sources and a number of certain databases, but there is no technology (except for turnitin.com itself) that could guarantee no plagiarism against all sources that are indexed by turnitin. If you want to be 100% sure of your paper’s originality, we suggest you check it using the WriteCheck service from turnitin.com and send us the report.

  • I received some comments from my teacher. Can you help me with them?

    Yes. You can have a free revision during 7 days after you’ve approved the paper. To apply for a free revision, please press the revision request button on your personal order page. You can also apply for another writer to make a revision of your paper, but in such a case, we can ask you for an additional 12 hours, as we might need some time to find another writer to work on your order.

    After the 7-day period, free revisions become unavailable, and we will be able to propose only the paid option of a minor or major revision of your paper. These options are mentioned on your personal order page.

  • How will I receive a completed paper?

    You will get the first version of your paper in a non-editable PDF format within the deadline. You are welcome to check it and inform us if any changes are needed. If everything is okay, and no amendments are necessary, you can approve the order and download the .doc file. If there are any issues you want to change, you can apply for a free revision and the writer will amend the paper according to your instructions. If there happen to be any problems with downloading your paper, please contact our support team.
  • Where do I upload files?

    When you submit your first order, you get a personal account where you can track all your orders, their statuses, your payments, and discounts. Among other options, you will have a possibility to communicate with your writer via a special messenger. You will be able to upload all information and additional materials on your paper using the “Files” tab on your personal page. Please consider uploading everything you find necessary for our writer to perform at the highest standard.
See full FAQ

Take your studies to the next level with our experienced specialists

Live Chat+1 (857) 777-1210 EmailWhatsApp