1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
alekssr [168]
1 year ago
9

Pick the 3 correct Python functions that parse and output only the date and time part of each log in log.txt as follows.

Computers and Technology
1 answer:
Mila [183]1 year ago
8 0

Answer:

1, 4, 5

Explanation:

parse2:

. In this case it's passing "r" as an argument, which really does absolutely nothing, because whenever you call open("file.txt") it defaults to reading mode, so all you're doing is explicitly passing the "r". So let's look at the first line. Whenever you call str.split() without any arguments, by default it splits it by empty text, and filters any empty text. So str.split() is not the same as str.split(" ") although it has similar behavior. "     ".split(" ") will output ['', '', '', '', '', ''], while "     ".split() will output []. So in this case the line.split() will split the string '10.1.2.1 - car [01/Mar/2022:13:05:05  +0900] "GET /python HTTP/1.0" 200 2222' into the list<em> ['10.1.2.1', '-', 'car', '[01/Mar/2022:13:05:05', '+0900]', '"GET', '/python', 'HTTP/1.0"', '200', '2222'].</em> As you can see the the data is split into two pieces of text, AND they include the brackets in both strings. So when it gets the 3 index and strips it of the "[]" it will have the incomplete date

parse3:

 In this instance the "r" does nothing as mentioned before the "r" is already defaulted whenever you call open("file.txt") so open("file.txt") is the same as open("file.txt", "r"). So in this case we won't be working left to right, we're going inside the brackets first, kind of like in math you don't don't work left to right in equation 3 + 3(2+3). You work in the brackets first (inside brackets you do left to right). So the first piece of code to run is the line.split("[" or "]"). I actually kind of misspoke here. Technically the "[" or "]" runs first because this doesn't do what you may think it does. The or will only return one value. this is not splitting the line by both "[" and "]". The, or will evaluate which is true from left to right, and if it is true, it returns that. Since strings are evaluated on their length to determine if they're true. the "[" will evaluate to true, because any string that is not empty is true, if a string is empty it's false. So the "[" will evaluate to true this the "[" or "]" will evaluate to "[". So after that the code will run line.split("[") which makes the list: <em>['10.1.2.1 - car ', '01/Mar/2022:13:05:05  +0900] "GET /python HTTP/1.0" 200 2222']</em>. Now the [3:5] will splice the list so that it returns a list with the elements at index 3 (including 3) to 5 (excluding 5). This returns the list: [], because the previous list only has 2 elements. There are no elements at index 3 to 5 (excluding 5). So when you join the list by " ", you'll get an empty string

parse4:

  So I'm actually a bit confused here, I thought the "r+" would open the file in read-writing mode, but maybe this is a different version of python I have no idea, so I'm going to assume it is reading/writing mode, which just means you can read and write to the file. Anyways when you split the line by doing line.split(), as mentioned before it will split by empty spaces and filter any empty spaces. This line will return: <em>['10.1.2.1', '-', 'car', '[01/Mar/2022:13:05:05', '+0900]', '"GET', '/python', 'HTTP/1.0"', '200', '2222']</em>. and then you splice the list from indexes 3 to 5 (excluding 5). This will return the list: <em>['[01/Mar/2022:13:05:05', '+0900]']</em> which has the two pieces of information you need for the date. Now it joins them by a space which will output: '[01/Mar/2022:13:05:05 +0900]'. Now when you strip the "[]" you get the string: '01/Mar/2022:13:05:05 +0900' which is the correct output!

parse 5:

 So in this example it's using re.split. And the re.split is splitting by "[" or "]" which is what re.split can be used for, to split by multiple strings, which may be confused by string.split("[" or "]") which is not the same thing as explained above what the latter does. Also the reason there is a backslash in front of the [ and ] is to escape it, because normally those two characters would be used to define a set, but by using a \ in front of it, you're essentially telling regex to interpret it literally. So in splitting the string by "[" and "]" you'll get the list: <em>['10.1.2.1 - car ', '01/Mar/2022:13:05:05  +0900', ' "GET /python HTTP/1.0" 200 2222']</em> which has 3 elements, since it was split by the [ and the ]. The second element has the date, so all you need to do is index the list using the index 1, which is exactly what the code does

You might be interested in
11.
Svetllana [295]
11. is battle of the bulge
12. rationing
13. trade embargo act
14. germany won the battle is not true
15. force jews to wear stars sown to their clothing to be caught without was punishable by death
3 0
3 years ago
Which method is the quickest for removing multiple different indent types applied to a paragraph
White raven [17]

Are there answer choices???? I think the answer would be remove them by using the delete button

5 0
3 years ago
Read 2 more answers
An individual involved with the aspect of a project will be concerned with budgets and the costs associated with running a busin
Genrish500 [490]
The storming stage of team development is complete when conflicts are resolved and leadership roles are accepted.
6 0
2 years ago
Read 2 more answers
You decide to buy some stocks for a certain price and then sell them at anotherprice. Write a program that determines whether or
Otrada [13]

Answer:

no_of_shares = int(input("Enter the number of shares: "))

purchase_price = float(input("Enter the purchase price of the stock: "))

sale_price = float(input("Enter the sale price of the stock: "))

total_stock_price = purchase_price*no_of_shares

total_spend_on_buying = total_stock_price + (0.03*total_stock_price)

total_sale_price = sale_price*no_of_shares

commission_while_selling = total_sale_price*0.03

net_gain_or_loss = total_sale_price - (total_spend_on_buying + commission_while_selling)

if(net_gain_or_loss<0):

print("After the transaction, you lost {} dollars".format(abs(net_gain_or_loss)))

else:

print("After the transaction, you made {} dollars".format(abs(net_gain_or_loss)))

7 0
3 years ago
Which function can be used to insert the current date into a spreadsheet?
VladimirAG [237]

Answer:

im pretty sure it MM/DD/YYYY

Explanation:

3 0
3 years ago
Other questions:
  • Is a network traffic management device used to connect different network segments together?
    9·1 answer
  • Systems Software, Inc., is introducing a new piece of sophisticated graphics software. A recently hired writer has been assigned
    8·1 answer
  • Which of the following speeches is an example of a demonstration speech? a. “Who was Abraham Lincoln” b. “The Human Brain and it
    5·1 answer
  • For a new version of processor, suppose the capacitive load remains, how much more energy will the processor consume if we incre
    12·1 answer
  • Expand and simplify the following expressions. 1/2 [ 2x + 2 ( x - 3)] *​
    10·1 answer
  • What are the four steps for planning a table?​
    10·1 answer
  • Which of the following expressions is not equivalent to X ' ?
    14·1 answer
  • Notes on secondary memory​
    7·1 answer
  • What do we call the software which programmers use to program?​
    6·1 answer
  • What feature should you enable to prevent the sidhistory attribute from being used to falsely gain administrative privileges in
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!